<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

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

    主站蜘蛛池模板: 国产成人精品免费视频大| 99久久99久久免费精品小说| 国外成人免费高清激情视频| 亚洲最大视频网站| 天天影视色香欲综合免费| 亚洲综合久久1区2区3区| 亚洲国产精品免费在线观看| 4444亚洲国产成人精品| 亚洲免费福利在线视频| 亚洲国产成人精品久久| 成人免费视频试看120秒| 亚洲成a人片在线不卡一二三区| 日美韩电影免费看| 欧亚一级毛片免费看| 在线观看国产区亚洲一区成人 | 国产AV无码专区亚洲AVJULIA| 国产午夜无码片免费| 亚洲国产精品久久久久久| 美丽的姑娘免费观看在线播放| 亚洲视频在线观看2018| 免费一级特黄特色大片在线| 插鸡网站在线播放免费观看| 亚洲av丰满熟妇在线播放| 国产h视频在线观看免费| 亚洲av无码偷拍在线观看| 最新国产AV无码专区亚洲| 99精品视频在线视频免费观看| 亚洲性线免费观看视频成熟| 国产jizzjizz视频免费看| 永久免费不卡在线观看黄网站| 亚洲精品**中文毛片| 免费在线观看亚洲| 久久免费视频99| 亚洲精品乱码久久久久蜜桃| 亚洲一区二区三区自拍公司| 91麻豆最新在线人成免费观看 | 中文字幕在线免费看线人| 亚洲免费在线视频观看| 亚洲情侣偷拍精品| 91免费人成网站在线观看18| 深夜特黄a级毛片免费播放|