Oracle学习笔记-存储过程与存储函数
1.存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数。
2.存储函数:可以通过return 语句返回函数值,存储过程则不能。
3.存储函数为一命名的存储程序,可带参数,并返回一计算值。函数和过程的结构类似,但必须有一个return子句,用于返回函数值。函数说明要指定函数名、结果值的类型,以及参数类型等。 存储函数语法: create[or replace] functiion 函数名(参数列表) return函数值类型 as PLSQL子程序体;
4.函数示例:
--查询某个员工的年收入 create or replace function queryEmpIncome(eno in number) return number as --月薪和奖金 psal number; pcomm number; begin select sal,comm into psal,pcomm from emp where empno=eno; --返回年收入 return psal*12+nvl(pcomm,0); end;
5.过程和函数的区别在于函数可以有一个返回值;而过程没有返回值。 但过程和函数都可以通过out指定一个或多个输出参数,可以利用out参数,在过程和函数中实现返回多个值。
6.过程示例:
create or replace procedure queryEmpInfo(eno in number,pname out varchar2,psal out number,pjob out varchar2) as begin select ename,sal,empjob into pname,psal,pjob from emp where empno=eno; end;
7.两个||为字符串连接符;‘’ 两个单引号连在一起, 形成转义字符