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;