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子句,用于返回函数值。函数说明要指定函数名、结果值的类型,以及参数类型等。

相关推荐