Oracle存储过程
上一篇 /
下一篇 2013-05-02 16:18:11
/ 个人分类:数据库
转载自:http://www.blogjava.net/improviser/archive/2007/10/03/150224.html
Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。
Oracle存储过程可以有无参数存储过程和带参数存储过程。
一、无参程序过程语法
1createorreplaceprocedureNoParPro
2as;
3begin
4;
5exception //存储过程异常
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 outvarchar,sjobinoutvarchar)
2asicountnumber;
3begin
4selectcount(*)intoicountfromempwheresal>isalandjob=sjob;
5ificount=1then
6....
9else
10....
12endif;
13exception
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: