<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

    商業規則和業務邏輯可以通過程序存儲在oracle中,這個程序就是存儲過程。

    存儲過程是SQL, PL/SQL, JAVA 語句的組合, 它使你能將執行商業規則的代碼從從你的應用程序中移動到數據庫。這樣的結果就是,代碼存儲一次但是能夠被多個程序使用。

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

    執行 procedure 的時候,可能需要excute權限。或者EXCUTE ANY PROCEDURE 權限。

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

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

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

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

    創建 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權限都將被保留。

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

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

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

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

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲无限乱码一二三四区| 亚洲精品美女久久777777| 国产成人精品日本亚洲专一区| 久久青草免费91观看| 精品亚洲A∨无码一区二区三区| 13小箩利洗澡无码视频网站免费| 国产亚洲一区二区在线观看 | 国产精品无码一区二区三区免费| 亚洲粉嫩美白在线| 国产精品成人免费综合| 噜噜综合亚洲AV中文无码| 免费日韩在线视频| 国产高清对白在线观看免费91 | 亚洲冬月枫中文字幕在线看| 亚洲第一网站免费视频| 麻豆狠色伊人亚洲综合网站| 在线观看人成视频免费| 污污免费在线观看| 亚洲热妇无码AV在线播放| 日本在线看片免费人成视频1000| 亚洲午夜一区二区电影院| 女人张开腿等男人桶免费视频 | 亚洲欧美一区二区三区日产| 国产精品免费电影| CAOPORN国产精品免费视频| 久久精品国产亚洲av麻豆小说| 99久久免费国产精品特黄| 污视频网站免费在线观看| 亚洲精品乱码久久久久久蜜桃不卡 | 国产精品免费看香蕉| 成人自慰女黄网站免费大全| 亚洲无删减国产精品一区| 麻豆国产精品入口免费观看| 一出一进一爽一粗一大视频免费的 | 亚洲无吗在线视频| 精品国产亚洲一区二区在线观看| 久久综合给合久久国产免费| 亚洲αⅴ无码乱码在线观看性色| 亚洲乱色熟女一区二区三区丝袜| 日韩欧美一区二区三区免费观看| 美女黄频免费网站|