<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-28  評論-15  文章-81  trackbacks-0

    Oracle存儲過程包含三部分:過程聲明,執行過程部分,存儲過程異常。

    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 

      四、在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 

      過程調用方式二
     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 
     至此,有關ORACLE的基本存儲過程以及對Oracle存儲過程的調用方式介紹完畢。
    posted on 2008-12-04 14:45 譚明 閱讀(359) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 亚洲综合区小说区激情区| 四虎影院永久免费观看| 国产亚洲大尺度无码无码专线 | 亚洲色大成网站www尤物| 亚洲熟伦熟女新五十路熟妇| 美女黄频a美女大全免费皮| 美女黄网站人色视频免费国产 | 在线观看免费国产视频| 亚洲A∨精品一区二区三区| 美女露100%胸无遮挡免费观看| 亚洲乱码国产一区网址| 中文日本免费高清| 亚洲专区先锋影音| 无码区日韩特区永久免费系列 | 在线精品亚洲一区二区三区| GOGOGO高清免费看韩国| 亚洲福利在线视频| 免费亚洲视频在线观看| 亚洲成A人片在线观看无码3D| 中文字幕在线免费视频| 在线观看亚洲人成网站| 久久www免费人成精品香蕉| 亚洲国产成人精品无码区在线观看 | 亚洲视频在线一区二区| 久久久久免费看黄a级试看 | 亚洲色偷偷偷鲁综合| 无码精品国产一区二区三区免费| 亚洲蜜芽在线精品一区| 成人毛片免费观看视频| 亚洲视频精品在线| 久久久久国色AV免费观看| 亚洲国产精品一区| 午夜免费不卡毛片完整版| 久久精品无码免费不卡| 亚洲国产精品一区二区久| 999任你躁在线精品免费不卡| 亚洲国产精品无码久久久蜜芽| 91高清免费国产自产拍2021| 亚洲AV香蕉一区区二区三区| 四虎成人免费观看在线网址 | 夜夜爽免费888视频|