>  기사  >  데이터 베이스  >  Oracle数据库存储过程和存储函数

Oracle数据库存储过程和存储函数

WBOY
WBOY원래의
2016-06-07 17:28:02982검색

存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数。 存储过程没有返回值。存储函数有返回值

存储过程和存储函数

指存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数。

存储过程没有返回值。存储函数有返回值

创建存储过程

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

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.