欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle自定义函数demo分享

程序员文章站 2022-06-21 07:55:26
oracle自定义函数demo分享 create or replace function f1(id int) return varchar2 as ename1 varch...

oracle自定义函数demo分享

create or replace function f1(id int)
return varchar2
as
       ename1 varchar2(20);
begin
  select ename into ename1 from emp where empno=id;
  return ename1;
end;
--调用
declare
  id int:=7900;
begin  
  dbms_output.put_line( f1(id));          --函数不是存储过程,不能直接调用
end;

--存储过程和游标的结合使用
create or replace procedure p7(salary int)         --salary 定义的工资目标
as
       cursor curs1 is select * from emp01 where sal<salary;
       emper emp01%rowtype;
begin
  open curs1;  
  loop 
    fetch curs1 into emper;
    exit when curs1 % notfound;
    if emper.sal < salary then  --注意此处的判断条件,要使用emper而不是emp01表
      update emp01 set sal=sal*1.1 where empno=emper.empno;
    end if;
    if emper.sal*1.1 < salary then 
      update emp01 set sal=salary where empno=emper.empno;                 
    end if;                     
  end loop; 
  close curs1;
end;
--调用
declare
begin
  p7(968);
end;