定义:函数唯一命名的存储程序,可带参数,并返回一计算值 函数和过程的结构类似,但必须有一个Return字句,用于返回函数值。 语法:
CREATE [OR REPLACE] FUNCTION 函数名(参数列表) RETURN 函数值类型 AS PLSQL子程序体; Eg: 查询某个员工的年收入 --eno in number 声明eno为输入的参数 类型为number create or replace FUNCTION queryEmpIncome(eno in number) -- 声明返回值的类型 RETURN NUMBER AS --定义变量保存员工的薪水和奖金 pasl emp.sal%type; pcomm emp.comm%type; begin --得到员工的月薪和奖金 select sal,comm into pasl,pcomm from emp where empno = eno; --直接返回年收入 return pasl*12 + nvl(pcomm,0); end;in和out 参数(续) 过程和函数都可以通过out指定一个或多个输出参数。我们可以利用out 参数, 在过程和函数中实现返回多个值
1)存储过程和存储函数都可以有out参数 2)存储过程和存储函数都可以有多个out参数 3)存储过程可以通过out参数来实现返回值
使用场景:当有一个返回值类型的时候,使用存储函数 当有多个返回值的时候,使用存储函数。(习惯)