oracle数据库怎么创建存储过程

更新时间:01-27 教程 由 忆离人 分享

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; //过程调用结束

请大家多多关注我的头条号,谢谢大家!

声明:关于《oracle数据库怎么创建存储过程》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2295210.html