隨筆-28  評(píng)論-15  文章-81  trackbacks-0

          Oracle存儲(chǔ)過程包含三部分:過程聲明,執(zhí)行過程部分,存儲(chǔ)過程異常。

          Oracle存儲(chǔ)過程可以有無(wú)參數(shù)存儲(chǔ)過程和帶參數(shù)存儲(chǔ)過程。 
          、無(wú)參程序過程語(yǔ)法

          1 create or replace procedure NoParPro
          2 as
            ;
          3 begin

          4 ;
          5 
          exception     //存儲(chǔ)過程異常
          6 
              ;
          7 end
          ;
          8 

                  二、帶參存儲(chǔ)過程實(shí)例

           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 

              三、 帶參數(shù)存儲(chǔ)過程含賦值方式
           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過程中出錯(cuò)!');
          18  end
          ;
          19 

            四、在Oracle中對(duì)存儲(chǔ)過程的調(diào)用
            過程調(diào)用方式一
           1 declare
           2        realsal emp.sal%type;
           3        realname varchar(40
          );
           4        realjob varchar(40
          );
           5  begin   //存儲(chǔ)過程調(diào)用開始

           6        realsal:=1100;
           7        realname:=''
          ;
           8        realjob:='CLERK'
          ;
           9        runbyparmeters(realsal,realname,realjob);     --
          必須按順序
          10        DBMS_OUTPUT.PUT_LINE(REALNAME||'   '||
          REALJOB);
          11  END
          ;  //過程調(diào)用結(jié)束
          12 

            過程調(diào)用方式二
           1 declare
           2       realsal emp.sal%type;
           3       realname varchar(40
          );
           4       realjob varchar(40
          );
           5 begin    //過程調(diào)用開始

           6       realsal:=1100;
           7       realname:=''
          ;
           8       realjob:='CLERK'
          ;
           9       runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob);  --
          指定值對(duì)應(yīng)變量順序可變
          10       DBMS_OUTPUT.PUT_LINE(REALNAME||'   '||
          REALJOB);
          11 END
          ;  //過程調(diào)用結(jié)束
          12 
           至此,有關(guān)ORACLE的基本存儲(chǔ)過程以及對(duì)Oracle存儲(chǔ)過程的調(diào)用方式介紹完畢。
          posted on 2008-12-04 14:45 譚明 閱讀(360) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          http://webfx.eae.net/

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 峨眉山市| 忻州市| 陆河县| 常德市| 乃东县| 湘乡市| 大名县| 灵璧县| 吉水县| 民乐县| 香河县| 富阳市| 屯门区| 吉安市| 卢湾区| 信丰县| 启东市| 黑河市| 舟曲县| 湟源县| 株洲市| 柳河县| 霍城县| 雷山县| 龙井市| 榆树市| 巍山| 巨鹿县| 清涧县| 太仆寺旗| 外汇| 广丰县| 贵定县| 长白| 嵊泗县| 龙南县| 岳阳县| 克拉玛依市| 宜章县| 达州市| 措美县|