Oracle存储过程调用带参的存储过程
来源:互联网 发布:visio模板 软件架构 编辑:程序博客网 时间:2024/04/30 12:06
Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。
Oracle存储过程可以有无参数存储过程和带参数存储过程。
一、无参程序过程语法
1 create or replace procedure NoParPro
2 as ;
3 begin
4 ;
5 exception //存储过程异常
6 ;
7 end;
8
2 as ;
3 begin
4 ;
5 exception //存储过程异常
6 ;
7 end;
8
二、带参存储过程实例
1 create or replace procedure queryempname(sfindno emp.empno%type) as
2 sName emp.ename%type;
3 sjob emp.job%type;
4 begin
5 ....
7 exception
....
14 end;
15
2 sName emp.ename%type;
3 sjob emp.job%type;
4 begin
5 ....
7 exception
....
14 end;
15
三、 带参数存储过程含赋值方式
1 create or replace procedure runbyparmeters (isal in emp.sal%type,
sname out varchar,sjob in out varchar)
2 as icount number;
3 begin
4 select count(*) into icount from emp where sal>isal and job=sjob;
5 if icount=1 then
6 ....
9 else
10 ....
12 end if;
13 exception
14 when too_many_rows then
15 DBMS_OUTPUT.PUT_LINE('返回值多于1行');
16 when others then
17 DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!');
18 end;
19
sname out varchar,sjob in out varchar)
2 as icount number;
3 begin
4 select count(*) into icount from emp where sal>isal and job=sjob;
5 if icount=1 then
6 ....
9 else
10 ....
12 end if;
13 exception
14 when too_many_rows then
15 DBMS_OUTPUT.PUT_LINE('返回值多于1行');
16 when others then
17 DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!');
18 end;
19
四、在Oracle中对存储过程的调用
过程调用方式一
1 declare
2 realsal emp.sal%type;
3 realname varchar(40);
4 realjob varchar(40);
5 begin //存储过程调用开始
6 realsal:=1100;
7 realname:='';
8 realjob:='CLERK';
9 runbyparmeters(realsal,realname,realjob); --必须按顺序
10 DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
11 END; //过程调用结束
12
2 realsal emp.sal%type;
3 realname varchar(40);
4 realjob varchar(40);
5 begin //存储过程调用开始
6 realsal:=1100;
7 realname:='';
8 realjob:='CLERK';
9 runbyparmeters(realsal,realname,realjob); --必须按顺序
10 DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
11 END; //过程调用结束
12
过程调用方式二
1 declare
2 realsal emp.sal%type;
3 realname varchar(40);
4 realjob varchar(40);
5 begin //过程调用开始
6 realsal:=1100;
7 realname:='';
8 realjob:='CLERK';
9 runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值对应变量顺序可变
10 DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
11 END; //过程调用结束
12
2 realsal emp.sal%type;
3 realname varchar(40);
4 realjob varchar(40);
5 begin //过程调用开始
6 realsal:=1100;
7 realname:='';
8 realjob:='CLERK';
9 runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值对应变量顺序可变
10 DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
11 END; //过程调用结束
12
- Oracle存储过程调用带参的存储过程
- Oracle存储过程调用带参的存储过程
- Mybatis调用Oracle带包存储过程
- Mybatis调用Oracle带包存储过程
- Oracle存储过程的调用
- Oracle存储过程的调用
- Oracle存储过程的调用
- Oracle存储过程的调用
- C#调用oracle中带数组的存储过程
- Oracle 中调试、调用(带参数的)存储过程
- VBA调用带游标返回值的ORACLE存储过程
- oracle调用带in out参数的存储过程
- Java调用Oracle、mysql带out参数的存储过程
- DAO调用Oracle带自定义类型的存储过程.
- Oracle带输出参数的存储过程和调用
- C#调用Oracle带输出数据集的存储过程
- hibernate4连接Oracle带out参数的存储过程调用
- 存储过程如何调用带参数的存储过程
- C#如何创建Windows服务并定时操作数据库的功能
- asp.net在IE6下的解决方法
- Android Service学习之AIDL, Parcelable和远程服务
- Hook IE浏览器alert弹窗
- AndroidManifest.xml文件详解(intent-filter)
- Oracle存储过程调用带参的存储过程
- “活不下去”的中产阶级
- 什么时候用trycatch
- C# 实现的 批量彩色图片转黑白图片的小工具 (附源码)
- SQL SERVER 2005 EXPRESS 配置静态端口访问
- Flash移动开发高级教程——创建Anroid & iPhone应用
- Linux udev-用户空间设备管理器
- ios5 代码获取storyboard文件的对象
- 如何成为一名黑客 from Eric Raymond