Oracle数据库存储过程和存储函数
存储过程和存储函数
指存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数。
存储过程没有返回值。存储函数有返回值
创建存储过程
用CREATE PROCEDURE命令建立存储过程和存储函数。
语法:
create [or replace] PROCEDURE过程名(参数列表)
AS
PLSQL子程序体;
存储过程示例:为指定的职工在原工资的基础上长10%的工资
/*
为指定的职工在原工资的基础上长10%的工资,并打印工资前和工资后的工资
*/
SQL> create or replace procedure raiseSalary(empid in number)
as
pSal emp.sal%type;--保存员工当前 工资
begin
--查询该员工的工资
select sal into pSal from emp where empno=empid;
--给该员工涨工资
update emp set sal = sal*1.1 where empno=empid;
--打印涨工资前后的工资
dbms_output.put_line('员工号:' || empid || '涨工资前
' || psal || '涨工资后' || psal*1.1);
end;
1 /
Procedure created
--存储过程调用
--方法一
SQL> set serveroutput on
SQL> exec raisesalary(7369);
员工号:7369涨工资前
800涨工资后880
方法二
set serveroutput on
begin
raisesalary(7369);
end;
/
PL/SQL procedure successfully completed
存储函数
函数(Function)为一命名的存储程序,可带参数,并返回一计算值。函数和过程的结构类似,但必须有一个RETURN子句,用于返回函数值。函数说明要指定函数名、结果值的类型,以及参数类型等。