问题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结束; //过程调用结束
请大家多多关照