Oracle存储过程可以有无参数存储过程和带参数存储过程
来源:互联网 发布:复制命令到linux 编辑:程序博客网 时间:2024/06/05 21:50
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; //过程调用结束
- Oracle存储过程可以有无参数存储过程和带参数存储过程
- 带参数存储过程
- ORACLE带参数的存储过程和不带参数的存储过程
- 存储过程调用(有无输出参数)
- Oracle存储过程编写(带输出参数)
- Oracle存储过程【带输入输出参数】
- oracle简单存储过程(带参数)
- Oracle存储过程【带输入输出参数】
- oracle带参数的存储过程
- Oracle带输入输出参数的存储过程
- Oracle带参数的存储过程
- 调用带参数存储过程
- 带输出参数存储过程
- 存储过程带in参数
- 存储过程带返回参数
- 带参数的存储过程
- 带参数的存储过程
- 带参数方法和存储过程
- socket串口通信
- Android中滑屏实现----手把手教你如何实现触摸滑屏以及Scroller类详解
- java 多线程 CountDownLatch用法
- C++如何判断输入的结束 ACM中无输入结束提示时如何判断到达EOF
- 游戏正在初始化组件
- Oracle存储过程可以有无参数存储过程和带参数存储过程
- 英雄会挑战失败求原因
- Android虚拟机中安装软件方法
- 对象名 QPAccountsDB.dbo.WF_GetAccountParent 无效
- 加入qq群 链接
- MFC EDIT控件中改变背景色和文字颜色
- 第一份工作
- delphi7写的个人笔记本(模版功能已经实现)介绍(一)
- Maven、Ant、Make、IDE的对比