<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 閱讀(3339) 評論(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

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

    主站蜘蛛池模板: 免费在线观看a级毛片| 99久久免费国产香蕉麻豆| 国产成人免费高清在线观看| 久久精品国产亚洲AV无码麻豆| 中文字幕手机在线免费看电影 | 亚洲AV日韩综合一区尤物| 亚洲免费电影网站| 亚洲中文字幕无码av在线| 亚洲第一网站免费视频| 亚洲精品福利网站| 99爱在线精品免费观看| 亚洲人成综合在线播放| 成人在线免费观看| 亚洲a∨无码一区二区| 一本久到久久亚洲综合| 国产特黄一级一片免费| 亚洲AV无码成人精品区在线观看| 你是我的城池营垒免费观看完整版| 国产亚洲精品国产| 99精品视频免费在线观看| 亚洲色图视频在线观看| 成人黄页网站免费观看大全| 丰满亚洲大尺度无码无码专线 | 337P日本欧洲亚洲大胆艺术图| 国产美女无遮挡免费视频| 麻豆安全免费网址入口| 中文字幕人成人乱码亚洲电影 | 天黑黑影院在线观看视频高清免费 | 亚洲日韩一区二区三区| 国产一区视频在线免费观看| 国产成人自产拍免费视频| 亚洲AV乱码一区二区三区林ゆな| 2021国内精品久久久久精免费| 亚洲成AV人片久久| 国产精品免费播放| 国产免费网站看v片在线| 亚洲性无码av在线| ZZIJZZIJ亚洲日本少妇JIZJIZ| 香港a毛片免费观看| 中文字幕亚洲码在线| 中文字幕日韩亚洲|