首页 > 编程知识 正文

多个存储过程一个事物,navicat停止sql执行

时间:2023-05-03 17:07:07 阅读:115203 作者:3297

问题5 :如何在Oracle数据库中创建存储过程?

Oracle存储过程由三部分组成:过程声明、执行过程部分和存储过程异常。

Oracle存储过程包括有无参数存储过程和有参数存储过程。

一、没有参与过程语法

1 createorreplaceprocedurenoparpro

2as;

3 begin

4;

5执行//存储过程异常

6;

7结束;

8

二.有参考价值的存储过程示例

1 createorreplaceprocedurequeryempname (sfindnoemp.empno % type ) as

2sName emp.ename%type;

3sjob emp.job%type;

4 begin

5 .

7执行

.

14结束;

15

三、带参数的存储过程包括赋值方式

1 createorreplaceprocedurerunbyparmeters (isalinemp.sal % type,

sname out varchar,sjob in out varchar )

2as icount number;

3begin

4选择计数(* ) intoicountfromempwheresalisalandjob=sjob;

5if icount=1 then

6 .

9else

10 .

12结束If;

13执行

14when too_many_rows then

15DBMS_OUTPUT.PUT_LINE (返回值多于一行);

16when others then

17 DBMS _ output.put _ line (运行byparmeters时发生错误! );

18结束;

19

四.在Oracle中调用存储过程

过程调用方式1

1德里克

2realsal emp.sal%type;

3实际名称varchar (40;

4realjobVarchar(40;

5begin//开始调用存储过程

6实时销售:=1100;

7realname:=;

8实时作业:=clerk;

9运行字节参数(real sal,realname,realjob ); -必须按顺序

10 DBMS _ output.put _ line (realnamerealjob;

11结束; //过程调用结束

12

过程调用方式2

1德里克

2realsal emp.sal%type;

3实际名称varchar (40;

4realjobVarchar(40;

5 begin//过程调用开始

6实时销售:=1100;

7realname:=;

8实时作业:=clerk;

9runbyparmeters(sname=realname,isal=realsal,sjob=realjob ); -指定的值根据变量的顺序而变化

10 DBMS _ output.put _ line (realnamerealjob;

11结束; //过程调用结束

请大家多多关照

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。