oracle存储过程调⽤⽅式Oracle存储过程包含三部分:过程声明,执⾏过程部分,存储过程异常。
Oracle存储过程可以有⽆参数存储过程和带参数存储过程。
⼀、⽆参程序过程语法
1 create or replace procedure NoParPro
2 as  ;
3 begin
4 ;
5 exception    //存储过程异常
6    ;
7 end;
oracle手动调用存储过程8
⼆、带参存储过程实例
1 create or replace procedure queryempname(pno%type) as
2        ame%type;
3        sjob emp.job%type;
4 begin
5        ....
7 exception
....
14 end;
15
三、带参数存储过程含赋值⽅式
1 create or replace procedure runbyparmeters  (isal in emp.sal%type,
sname out varchar,sjob in out varchar)
2  as icount number;
3  begin
4      select count(*) into icount from emp where sal>isal and job=sjob;
5      if icount=1 then
6        ....
9      else
10        ....
12      end if;
13  exception
14      when too_many_rows then
15      DBMS_OUTPUT.PUT_LINE('返回值多于1⾏');
16      when others then
17      DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!');
18  end;
19
四、在Oracle中对存储过程的调⽤
过程调⽤⽅式⼀
1 declare
2        realsal emp.sal%type;
3        realname varchar(40);
4        realjob varchar(40);
5  begin  //存储过程调⽤开始
6        realsal:=1100;
7        realname:='';
8        realjob:='CLERK';
9        runbyparmeters(realsal,realname,realjob);    --必须按顺序
10        DBMS_OUTPUT.PUT_LINE(REALNAME||'  '||REALJOB);
11  END;  //过程调⽤结束
12
过程调⽤⽅式⼆
1 declare
2      realsal emp.sal%type;
3      realname varchar(40);
4      realjob varchar(40);
5 begin    //过程调⽤开始
6      realsal:=1100;
7      realname:='';
8      realjob:='CLERK';
9      runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob);  --指定值对应变量顺序可变
10      DBMS_OUTPUT.PUT_LINE(REALNAME||'  '||REALJOB);
11 END;  //过程调⽤结束
12

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。