存储过程
存储过程是在大型数据库中,事先经过编译并存储在数据库中的一段SQL语句的集合。
如果有update操作,要在存储过程外commit。
(存储过程和存储函数的区别:存储过程可以通过输出参数返回多个值,存储函数只能返回一个值)
create or replace procedure 存储过程名 (参数 参数的格式:参数名 in/out 参数类型 )
as/is
begin
程序体
end;
例:计算某员工的年薪
create or replace procedure countSalary(eno in employee.empno%type , yearSal out number) is
monSal employee.sal%type; --月薪
suSal employee. comm%type; --奖金
begin
select e.sal, e.comm into monSal,suSal from employee e where e.empno = eno;
yearSal := monSal*12 + nvl(suSal,0);
end countSalary;