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

网友解答: Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。Oracle存储过程可以有无参数存储过程和带参数存储过程。 一、无参程序过程语法1 create or

网友解答:

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

请大家多多关注我的酷米号,谢谢大家!

网友解答:

存储过程基本语法

create or replace procedure update_emp_sal(

Name in out type, Name in out type, ...

)

isbegin end update_emp_sal;

标签: