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.两个||为字符串连接符;‘’ 两个单引号连在一起, 形成转义字符