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

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

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

    即興的靈感

    思維是一種藝術; 藝術需要靈感。

    博客好友

    最新評論

    Oracle之函數與觸發器

    ??? 今天寫有關Oracle中函數與觸發器的內容,在數據庫中定義并使用存儲過程、函數、觸發器,可以提高用戶訪問數據庫的效率。

    ??? 數據庫中函數包含四個部分:聲明、返回值、函數體和異常處理

    ?1?create?or?replace?function?getname(sno?varchar2 )
    ?2??return?varchar?is

    ?3?????????name?varchar(12 );
    ?4??begin

    ?5?????????select?ename?into?name?from?emp?where?empno= sno;
    ?6?????????return
    ?name;
    ?7?
    ?exception
    ?8??????? ...

    12??end ;
    13?

    ??? 觸發器是一種特殊的存儲過程,類似于其它編程語言中的事件函數,允許為 INSERT、UPDATE、DELETE 創建觸發器,當在表(視圖)中插入、更新、刪除記錄(前、后)時,觸發一個或一系列 T-SQL 語句。

    ? ? 創建在
    STUDENT 表上的插入觸發器,當在 STUDENT 表中插入數據時候觸發器將被觸發,執行體將被執行
    ?? 插入觸發器
    ?1
    ?create?or?replace?trigger
    ?tg_insert
    ?2??before?insert?on?student??????????????? --
    可設置在插入前或插入后
    ?3??begin

    ?4??????? ...
    ?5??end ;
    ?

    ??
    更新觸發器
    ?8? create?or?replace?trigger
    ?tg_update
    ?9??after?update?on
    ?student
    10??for?each?row

    12??begin
    13????? ...
    14??END ;
    15?

    觸發器兩個特殊行級變量: :New 新值 ? ? :Old 舊值 ? 分別代表更新值,被更新的值

    ?1?create?or?replace?trigger ?tg_insert
    ?2?after?update?on
    ?student
    ?3?for
    ?each?row
    ?4?when?(:old.sex=’j’)??????? --
    當old.sex為J時候才執行觸發器內容
    ?5?begin

    ?7????DBMS_OUTPUT.PUT_LINE(:new.stuname||'??'|| :old.stuname);
    ?8????DBMS_OUTPUT.PUT_LINE(:new.sex||'??'||
    :old.sex);
    ?9?end
    ;
    10?

    判斷復合型觸發器

    ?1?create?or?replace?trigger ?trgstudeng
    ?2?before?insert?or?update?or?delete?on
    ?student
    ?3?for
    ?each?row
    ?4?begin

    ?5?????if??inserting?then
    ?6???? ...
    ?8?????end?if ;
    ?9?????if?deleting?then

    10???? ...
    12?????end?if ;
    13?
    exception
    14? ?? ...

    16?END ;
    17?

    ? ? 觸發器功能強大,可以實現許多復雜的功能,但如果濫用會造成數據庫及應用程序的維護困難。
    ? (轉載請注明出處)?


    ?
    鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
    ???? 隱姓埋名/低調華麗/簡單生活/完美人生

    posted on 2007-10-05 00:04 poetguo 閱讀(3323) 評論(5)  編輯  收藏 所屬分類: Oracle

    評論

    # re: Oracle之函數與觸發器 2007-10-06 10:30 登高視遠

    謝了,,,剛好用到  回復  更多評論   

    # re: Oracle之函數與觸發器 2007-10-06 10:31 登高視遠

    觸發器原來這么好玩  回復  更多評論   

    # re: Oracle之函數與觸發器 2007-10-06 10:44 improviser

    濫用會造成數據庫及應用程序的維護困難!!!!!!  回復  更多評論   

    # re: Oracle之函數與觸發器[未登錄] 2009-07-02 10:28

    能不能寫些關于oracle的其它語句使用如:變量如何聲明并使用, if..else語法如何使用等,多謝!  回復  更多評論   

    # re: Oracle之函數與觸發器 2010-01-22 17:39 asdf

    感謝,今天讓我解決了個大麻煩  回復  更多評論   

    主站蜘蛛池模板: 2020久久精品国产免费| 99热这里只有精品免费播放| 免费看少妇作爱视频| 国产午夜亚洲精品国产| 欧美男同gv免费网站观看| 亚洲性线免费观看视频成熟| 免费在线观看的网站| 亚洲精品av无码喷奶水糖心| 免费黄色小视频网站| 免费一级毛片在线播放放视频| 日韩亚洲国产二区| 日韩精品无码免费专区午夜 | 在线播放国产不卡免费视频| 亚洲成人影院在线观看| 国产免费A∨在线播放| 亚洲美女又黄又爽在线观看| 日韩精品无码免费一区二区三区 | 免费黄网站在线看| 亚洲视频在线观看网址| 97无码免费人妻超级碰碰碰碰| 亚洲AV日韩AV无码污污网站| 亚洲性在线看高清h片| 麻豆精品成人免费国产片| 亚洲三级在线免费观看| 四虎永久免费地址在线网站| 视频免费在线观看| 亚洲一区二区三区亚瑟 | 国产视频精品免费| 中国在线观看免费的www| 亚洲网红精品大秀在线观看| 亚洲AV永久无码精品一百度影院| 亚洲国产精品张柏芝在线观看| 一级一黄在线观看视频免费| 久久国产亚洲电影天堂| 成人毛片免费观看视频在线| 一个人免费观看视频在线中文| 亚洲国产美国国产综合一区二区| 日本特黄特色aa大片免费| 国产午夜无码片免费| 亚洲中文字幕久久精品蜜桃| 亚洲人成精品久久久久|