一、存储过程概述
存储过程就是提前已经编译好的一段pl/sql语言,放置在数据库端,可以直接被调用。
二、定义存储过程
1、参数in和out
变量的类型:in 为默认类型,表示输入; out 表示只输出;in out 表示即输入又输出;
2、语法
CREATE [OR REPLACE] PROCEDURE <过程名>[(参数列表)] IS
[局部变量声明]
BEGIN
可执行语句
EXCEPTION
异常处理语句
END [<过程名>];
3、实例
create or replace procedure p_1(n in out number) is
r emp%rowtype;
BEGIN
dbms_output.put_line('姓名 薪水');
select * into r from emp where empno=n;
dbms_output.put_line(r.ename||' '||r.sal); --输出结果,需要 set serverout on 才能显示.
n:=r.sal;
END;
三、使用存储过程
declare
n number;
begin
n:=&请输入员工号;
p_1(n);
dbms_output.put_line('n的值为 '||n);
end;
四、删除存储过程
语法: DROP PROCEDURE <过程名>;
实例:drop procedure p_1;