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

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

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

    Codooba
    JCenter
    posts - 20,comments - 9,trackbacks - 0

    商業(yè)規(guī)則和業(yè)務(wù)邏輯可以通過程序存儲在oracle中,這個程序就是存儲過程。

    存儲過程是SQL, PL/SQL, JAVA 語句的組合, 它使你能將執(zhí)行商業(yè)規(guī)則的代碼從從你的應(yīng)用程序中移動到數(shù)據(jù)庫。這樣的結(jié)果就是,代碼存儲一次但是能夠被多個程序使用

    要創(chuàng)建一個 過程對象(procedural object),必須有 CREATE PROCEDURE 系統(tǒng)權(quán)限。如果這個過程對象需要被其他的用戶schema 使用,那么你必須有 CREATE ANY PROCEDURE 權(quán)限。

    執(zhí)行 procedure 的時候,可能需要excute權(quán)限。或者EXCUTE ANY PROCEDURE 權(quán)限。

    如果單獨賦予權(quán)限,如下例所示:  grant  execute on MY_PROCEDURE  to Jelly

    調(diào)用一個存儲過程的例子: execute MY_PROCEDURE( 'ONE PARAMETER');

    PROCEDURE 和 FUNCTION 的區(qū)別。 function有返回值,并且可以直接在Query中引用function和或者使用function的返回值。

     PACKAGE 是function,procedure,variables 和sql 語句的組合。package允許多個procedure使用同一個變量和游標(biāo)。

    創(chuàng)建 procedure的語法:

    CREATE [ OR REPLACE ] PROCEDURE [ schema.]procedure
      [(argument [IN | OUT | IN OUT ] [NO COPY] datatype
        [, argument [IN | OUT | IN OUT ] [NO COPY] datatype]...
      )]
    [ authid { current_user | definer }]
    { is | as } { pl/sql_subprogram_body |
    language { java name 'String' | c [ name, name] library lib_name
    }]

    sql 代碼
    1. CREATE PROCEDURE sam.credit (acc_no IN NUMBER, amount IN NUMBER) AS    
    2.    BEGIN  
    3.       UPDATE accounts    
    4.       SET balance = balance + amount    
    5.       WHERE account_id = acc_no;    
    6.    END;  

     

    可以使用 create or replace procedure 語句, 這個語句的用處在于,你之前賦予的excute權(quán)限都將被保留。

    IN, OUT, IN OUT 用來修飾參數(shù)。IN 表示這個變量必須被調(diào)用者賦值然后傳入到PROCEDURE進行處理。OUT 表示PRCEDURE 通過這個變量將值傳回給調(diào)用者。IN OUT 則是這兩種的組合。

    authid代表兩種權(quán)限: 定義者權(quán)限(difiner right 默認(rèn)),執(zhí)行者權(quán)限(invoker right)。定義者權(quán)限說明這個procedure中涉及的表,視圖等對象所需要的權(quán)限只要定義者擁有權(quán)限的話就可以訪問。執(zhí)行者權(quán)限則需要調(diào)用這個procedure的用戶擁有相關(guān)表和對象的權(quán)限。

    posted on 2007-07-02 15:46 Zhangwenlong 閱讀(803) 評論(1)  編輯  收藏

    FeedBack:
    # re: oracle存儲過程基礎(chǔ)知識
    2016-07-01 14:45 | 1`2
    4324324  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产精品美女久久久免费 | 无码专区永久免费AV网站| 亚洲国产精品成人久久| 99久久免费国产精品热| 国产gv天堂亚洲国产gv刚刚碰| 免费无码AV一区二区| 国产AV无码专区亚洲AV手机麻豆| 无码免费又爽又高潮喷水的视频| 亚洲精品综合久久| 国产一级一毛免费黄片| 亚洲成人免费在线| 一色屋成人免费精品网站| 日韩亚洲不卡在线视频中文字幕在线观看| 免费无码精品黄AV电影| 久久精品国产亚洲AV| 亚洲综合另类小说色区色噜噜| 久久精品无码免费不卡| 亚洲视频在线不卡| 国内一级一级毛片a免费| 尤物视频在线免费观看| 久久香蕉国产线看观看亚洲片| 18女人毛片水真多免费| 在线aⅴ亚洲中文字幕| 亚洲Av无码乱码在线观看性色| 国产一级在线免费观看| 亚洲日本在线观看网址| 毛片免费观看的视频| jizz免费在线观看| 亚洲系列国产精品制服丝袜第| 日韩在线看片免费人成视频播放| 老司机午夜在线视频免费观| 亚洲综合AV在线在线播放| 国产麻豆视频免费观看| 一区二区三区免费视频播放器| 久久精品国产亚洲77777| 国产午夜影视大全免费观看| 国产无遮挡裸体免费视频在线观看| 亚洲人成网站看在线播放| 亚洲中文无韩国r级电影| 99久9在线|免费| 一级全免费视频播放|