定义: CREATE [OR REPLACE] PROCEDURE <过程名>[(参数列表)] IS
[局部变量声明]
BEGIN
可执行语句
EXCEPTION
异常处理语句
END [<过程名>];
变量的类型:in 为默认类型,表示输入; out 表示只输出;in out 表示即输入又输出;
操作以有的过程: 在PL/SQL块中直接使用过程名;在程序外使用execute <过程名>[(参数列表)]
使用:
示例:
创建过程:
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 <过程名>;
第一步:创建一个存储过程
create or replace procedure p_printName(username in nvarchar2) is
temp nvarchar2(200);
begin
temp := username;
dbms_output.put_line('name====='||temp);
end ;
第二步:在过程中调用存储过程
方式一:
declare
username nvarchar2(200);
begin
username := 'yun';
p_printName(username);
end;
方式二:在命令窗口中执行存储过程
SQL> set serveroutput on
SQL> execute p_printName('aa');