首页 > 技术文章 > oracle 存储函数

wangchuanfu 2019-06-01 19:17 原文

存储函数

函数为一命名的存储程序,可带参数,并返回一计算值。

函数和过程的结构类似,但必须有一个return子句,用于返回函数值

---注意:当一个表达式包含null值,往往会导致得不到正确的结果,或者没有结果

    所以最好的做法是使用nvl函数将空值以0代替

--查询某个员工的年收入

create or replace function queryempincome(eno in number)

return number

as

 psal emp.sal%type;

 pcomm emp.comm%type;

begin

 ---得到该员工的月薪和奖金

 select sal,comm into psal,pcomm from emp where empno=eno;

 

 --直接返回年收入

 return psal*12+nvl(pcomm,0);

end;

/
//调用函数
declare
  vsum number;
begin
  vsum := func_getyearsal(7369);
  dbms_output.put_line('年薪:'||vsum);  //输出编号是7369的年薪
end;

 

 

推荐阅读