您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页oracle中的存储过程

oracle中的存储过程

来源:华佗小知识


Oracle存储过程可以有无参数存储过程和带参数存储过程。

一、无参程序过程语法

1 create or replace procedure NoParPro

2 as ;

3 begin

4 ;

5 exception //存储过程异常

6 ;

7 end;

8

二、带参存储过程实例

1 create or replace procedure queryempname(sfindno emp.empno%type) as

2 sName emp.ename%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; //过程调用结束

-指定-

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务