Oracle存储过程

Oracle存储过程

Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。

Oracle存储过程可以有无参数存储过程和带参数存储过程。
、无参程序过程语法

1createorreplaceprocedure NoParPro
2as
;
3begin

4 ;
5
exception //存储过程异常
6
;
7end
;
8


二、带参存储过程实例

1createorreplaceprocedurequeryempname(sfindnoemp.empno%type)as
2sNameemp.ename% type;
3sjobemp.job%
type;
4begin

5 ....
7exception
....
14end ;
15


三、 带参数存储过程含赋值方式

1createorreplaceprocedurerunbyparmeters(isalinemp.sal% type,
snameout
varchar,sjobinoutvarchar
)
2asicountnumber
;
3begin

4selectcount(*)intoicountfromempwheresal>isalandjob= sjob;
5ificount=1then

6 ....
9else
10 ....
12endif ;
13
exception
14whentoo_many_rowsthen

15DBMS_OUTPUT.PUT_LINE('返回值多于1行' );
16whenothersthen

17DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!' );
18end
;
19


四、在Oracle中对存储过程的调用
过程调用方式一

1declare
2realsalemp.sal% type;
3realnamevarchar(40
);
4realjobvarchar(40
);
5begin //存储过程调用开始

6realsal:=1100 ;
7realname:=''
;
8realjob:='CLERK'
;
9runbyparmeters(realsal,realname,realjob); --
必须按顺序
10DBMS_OUTPUT.PUT_LINE(REALNAME||''||
REALJOB);
11END
; //过程调用结束
12


过程调用方式二

1declare
2realsalemp.sal% type;
3realnamevarchar(40
);
4realjobvarchar(40
);
5begin//过程调用开始

6realsal:=1100 ;
7realname:=''
;
8realjob:='CLERK'
;
9runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --
指定值对应变量顺序可变
10DBMS_OUTPUT.PUT_LINE(REALNAME||''||
REALJOB);
11END
; //过程调用结束
12

至此,有关ORACLE的基本存储过程以及对Oracle存储过程的调用方式介绍完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值