`
tianlijia202
  • 浏览: 74367 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

存储过程调用

阅读更多
转自于:http://hbszyandong.iteye.com/blog/146274

存储过程 包含三部分: 声明,执行部分,异常。   
可以有无参数程序和带参数存储过程。   
无参程序语法   
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  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics