存储过程(存储函数):指存储在数据库中供所有用户程序调用的子程序(PL/SQL程序)。
存储过程没有返回值,存储函数有返回值(return语句,要有返回值的类型)。
区别:存储函数可以有返回值,而存储过程没有返回值。
存储过程的out参数也可以实现返回值,所以存储过程可以替代存储函数。(存储函数是为了兼容低版本)
存储过程 out参数:
--查询某个员工的姓名 薪水和职位
create or replace procedure queryEmpInformation(eno in number,
pename out varchar2,
psal out number,
pjob out varchar2) --in表示输入参数,out表示输出参数
is
begin
select ename,sal,job into pename,psal,pjob from emp where empno=eno;
end queryEmpInformation;
/
调用存储过程:
begin
queryEmpInformation(eno => 7839,
pename => :pename,
psal => :psal,
pjob => :pjob); -- =>也表示赋值的意思
end;
通过PL/SQL Developer工具调用存储过程: