oracle存储过程语法

存储过程 包含三部分: 声明,执行部分,异常。    
可以有无参数程序和带参数存储过程。    
无参程序语法    
1 create or replace procedure NoParPro   
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    
  
   带参数存储过程含赋值方式    
 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    
  
  过程调用   
  方式一   
 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    
  
  方式二   
 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   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值