日期:2014-05-16  浏览次数:20401 次

Oracle存储过程语法学习(Procedure 事例 1)
存储过程 包含三部分: 声明,执行部分,异常。    
可以有无参数程序和带参数存储过程。    
无参程序语法    
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);