Oracle存储过程

上一篇 / 下一篇  2013-05-02 16:18:11 / 个人分类:数据库

转载自:http://www.blogjava.net/improviser/archive/2007/10/03/150224.html

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

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

1createorreplaceprocedureNoParPro
2as
;
3begin

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

二、带参存储过程实例

1createorreplaceprocedurequeryempname(sfindno emp.empno%type)as
2sName emp.ename%type;
3sjob emp.job%
type;
4begin

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

三、带参数存储过程含赋值方式
1createorreplaceprocedurerunbyparmeters (isalinemp.sal%type,
sname out
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
2realsal emp.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
2realsal emp.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存储过程的调用方式介绍完毕。

TAG:

Test-Admin 引用 删除 zhoutesting   /   2013-05-03 08:50:54
1
 

评分:0

我来说两句

日历

« 2024-09-19  
1234567
891011121314
15161718192021
22232425262728
2930     

数据统计

  • 访问量: 23949
  • 日志数: 15
  • 建立时间: 2013-03-26
  • 更新时间: 2013-07-24

RSS订阅

Open Toolbar