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;