国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

Oracle數據庫中有關觸發器問題
2008-08-19   IT專家網

觸發器是一種特殊類型的存儲過程,它不同于存儲過程。觸發器主要是通過事件進行觸發而被執行的,觸發器的觸發事件分可為3類,分別是DML事件、DDL事件和數據庫事件,而存儲過程可以通過存儲過程名字而被直接調用。當對某一表進行諸如UPDATE、 INSERT、 DELETE 這些操作時,SQL Server 就會自動執行觸發器所定義的SQL 語句,從而確保對數據的處理必須符合由這些SQL 語句所定義的規則。

  觸發器是特定事件出現的時候,自動執行的代碼塊。類似于存儲過程,但是用戶不能直接調用他們。

  觸發器功能

  1、 允許/限制對表的修改

  2、 自動生成派生列,比如自增字段

  3、 強制數據一致性

  4、 提供審計和日志記錄

  5、 防止無效的事務處理

  6、 啟用復雜的業務邏輯

  觸發器種類

  觸發器的種類可劃分為4種:1.數據操縱語言(DML)觸發器、2.替代(INSTEAD OF)觸發器、3.數據定義語言(DDL)觸發器、4.數據庫事件觸發器。

  數據操縱語言(DML)觸發器:簡稱DML觸發器,是定義在表上的觸發器,創建在表上。由DML事件引發的觸發器,編寫DML觸發器時的兩點要素是: 1.確定觸發的表,即在其上定義觸發器的表。2.確定觸發的事件,DML觸發器的觸發事件有INSERT、UPDATE和DELETE三種;替代觸發器,簡稱INSTEAD OF觸發器,創建在視圖上,用來替換對視圖進行的刪除、插入和修改操作; 數據定義語言(DDL)觸發器,簡稱DDL觸發器,定義在模式上,觸發事件是數據對象的創建和修改;數據庫事件觸發器,定義在整個數據庫或模式上,觸發事件是數據庫事件.

  ORACLE產生數據庫觸發器的語法為:

  CREATE [OR REPLACE] TRIGGER 觸發器名

  {BEFORE|AFTER|INSTEAD OF} 觸發事件1 [OR 觸發事件2...]

  ON 表名

  WHEN 觸發條件

  [FOR EACH ROW]

  DECLARE

  聲明部分

  BEGIN

  主體部分

  END;

  其中:

  觸發器名:觸發器對象的名稱。由于觸發器是數據庫自動執行的,因此該名稱只是一個名稱,沒有實質的用途。一個觸發器可由多個不同的數據操縱語言操作觸發。在觸發器中,可用INSERTING、DELETING、UPDATING謂詞來區別不同的數據操縱語言操作。這些謂詞可以在IF分支條件語句中作為判斷條件來使用。

  觸發時間:指明觸發器何時執行,該值可取, 觸發的時間有BEFORE和AFTER兩種,分別表示觸發動作發生在DML語句執行之前和語句執行之后。確定觸發級別,有語句級觸發器和行級觸發器兩種。語句級觸發器表示SQL語句只觸發一次觸發器,行級觸發器表示SQL語句影響的每一行都要觸發一次。

  Before:表示在數據庫動作之前觸發器執行;在SQL語句的執行過程中,如果存在行級BEFORE觸發器,則SQL語句在對每一行操作之前,都要先執行一次行級BEFORE觸發器,然后才對行進行操作。如果存在行級AFTER觸發器,則SQL語句在對每一行操作之后,都要再執行一次行級AFTER觸發器。

  after:表示在數據庫動作之后出發器執行。如果存在語句級AFTER觸發器,則在SQL語句執行完畢后,要最后執行一次語句級AFTER觸發器。

  觸發事件:指明哪些數據庫動作會觸發此觸發器,指INSERT、DELETE或UPDATE事件,事件可以并行出現,中間用OR連接;

  insert:數據庫插入會觸發此觸發器;

  update:數據庫修改會觸發此觸發器;

  delete:數據庫刪除會觸發此觸發器。

  表 名:數據庫觸發器所在的表。

  for each row:表示觸發器為行級觸發器,省略則為語句級觸發器,對表的每一行觸發器執行一次。

  觸發器的創建者或具有DROP ANY TIRGGER系統權限的人才能刪除觸發器。刪除觸發器的語法如下:

  DROP TIRGGER 觸發器名

  可以通過命令設置觸發器的可用狀態,使其暫時關閉或重新打開,即當觸發器暫時不用時,可以將其置成無效狀態,在使用時重新打開。該命令語法如下:

  ALTER TRIGGER 觸發器名 {DISABLE|ENABLE}

  其中,DISABLE表示使觸發器失效,ENABLE表示使觸發器生效。

  同存儲過程類似,觸發器可以用SHOW ERRORS 檢查編譯錯誤。

  如果有多個觸發器被定義成為相同時間、相同事件觸發,且最后定義的觸發器是有效的,則最后定義的觸發器被觸發,其他觸發器不執行。觸發器體內禁止使用COMMIT、ROLLBACK、SAVEPOINT語句,也禁止直接或間接地調用含有上述語句的存儲過程。定義一個觸發器時要考慮上述多種情況,并根據具體的需要來決定觸發器的種類。

  觸發器的作用

  觸發器的主要作用就是其能夠實現由主鍵和外鍵所不能保證的復雜的參照完整性和數據的一致性。除此之外,觸發器還有其它許多不同的功能:

  (1) 強化約束(Enforce restriction)

  觸發器能夠實現比CHECK 語句更為復雜的約束。

  (2) 跟蹤變化Auditing changes

  觸發器可以偵測數據庫內的操作,從而不允許數據庫中未經許可的指定更新和變化。

  (3) 級聯運行(Cascaded operation)。

  觸發器可以偵測數據庫內的操作,并自動地級聯影響整個數據庫的各項內容。例如,某個表上的觸發器中包含有對另外一個表的數據操作(如刪除,更新,插入)而該操作又導致該表上觸發器被觸發。

  (4) 存儲過程的調用(Stored procedure invocation)。

  為了響應數據庫更新觸,發器可以調用一個或多個存儲過程,甚至可以通過外部過程的調用而在DBMS( 數據庫管理系統)本身之外進行操作。

  由此可見,觸發器可以解決高級形式的業務規則或復雜行為限制以及實現定制記錄等一些方面的問題。例如,觸發器能夠找出某一表在數據修改前后狀態發生的差異,并根據這種差異執行一定的處理。此外一個表的同一類型(INSERT、 UPDATE、 DELETE)的多個觸發器能夠對同一種數據操作采取多種不同的處理。

  總體而言,觸發器性能通常比較低

      當運行觸發器時,系統處理的大部分時間花費在參照其它表的這一處理上,因為這些表既不在內存中也不在數據庫設備上,而刪除表和插入表總是位于內存中。可見觸發器所參照的其它表的位置決定了操作要花費的時間長短。

熱詞搜索:

上一篇:綠色數據中心環保之路 需跨越三大障礙
下一篇:三種策略實現虛擬化環境價值最大化

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
国产亚洲一区二区三区四区 | 国产精品进线69影院| 视频一区国产视频| 日韩一级二级三级| 另类综合日韩欧美亚洲| 欧美白人最猛性xxxxx69交| 国产美女视频91| 亚洲精品免费一二三区| 欧美日韩在线综合| 国产精品123区| 一二三区精品视频| 欧美精品一区二区三区一线天视频 | 国产精品区一区二区三| 色偷偷88欧美精品久久久| 首页欧美精品中文字幕| 久久久精品tv| 欧美这里有精品| 国产福利91精品一区| 亚洲一区二区欧美激情| 久久品道一品道久久精品| 在线区一区二视频| 国产成人自拍网| 日日欢夜夜爽一区| ㊣最新国产の精品bt伙计久久| 欧美日本乱大交xxxxx| 成人av在线网站| 奇米在线7777在线精品| 亚洲欧美激情在线| ww亚洲ww在线观看国产| 欧美性大战久久久久久久蜜臀| 国产精品18久久久久| 日韩精品欧美成人高清一区二区| 欧美高清在线精品一区| 日韩视频在线你懂得| 色视频一区二区| 久久黄色级2电影| 亚洲成人激情综合网| 日韩伦理免费电影| 国产精品理伦片| 国产亚洲va综合人人澡精品| 91福利精品视频| 成人高清伦理免费影院在线观看| 久久丁香综合五月国产三级网站| 亚洲电影欧美电影有声小说| 亚洲美女淫视频| 中文字幕不卡在线| 国产农村妇女毛片精品久久麻豆 | 亚洲私人影院在线观看| 国产色产综合色产在线视频| 亚洲精品一区二区三区影院| 亚洲精品在线三区| 精品少妇一区二区三区在线播放| 制服丝袜中文字幕亚洲| 717成人午夜免费福利电影| 欧美理论电影在线| 欧美精品v日韩精品v韩国精品v| 色乱码一区二区三区88| 91蜜桃网址入口| 色综合一区二区| 欧美性大战久久久久久久蜜臀| 色婷婷亚洲一区二区三区| 一本色道综合亚洲| 欧美日韩中文一区| 69堂国产成人免费视频| 日韩一区二区免费高清| 久久一区二区三区四区| 久久综合久久综合久久| 欧美国产日韩精品免费观看| 国产精品乱码人人做人人爱 | 国产欧美日本一区视频| 国产精品盗摄一区二区三区| 亚洲欧美日韩国产手机在线 | jvid福利写真一区二区三区| 强制捆绑调教一区二区| 亚洲精品伦理在线| 国产午夜精品福利| 2023国产精品视频| 欧美日韩一区精品| 国产精品一区二区免费不卡 | 91成人网在线| 欧美视频一区二区| 欧美人与性动xxxx| 久久精品欧美一区二区三区麻豆| 中文一区二区在线观看| 亚洲午夜免费电影| 国产精品国产a级| 一区二区在线看| 青青草97国产精品免费观看无弹窗版| 乱中年女人伦av一区二区| 不卡的av电影在线观看| 欧美亚洲综合在线| 日韩精品一区二区三区视频 | 国产精品一二三| 欧美做爰猛烈大尺度电影无法无天| 欧美高清性hdvideosex| 中文字幕不卡在线| 免费观看日韩av| 色先锋aa成人| 国产色91在线| 免费久久精品视频| 91视频一区二区| 国产午夜精品福利| 日本在线不卡一区| 在线视频中文字幕一区二区| 久久久久久毛片| 老司机免费视频一区二区三区| 91视频国产观看| 国产精品麻豆网站| 国产精品系列在线观看| 欧美一区二区啪啪| 亚洲一二三四在线观看| www.av精品| 日本一区二区三区久久久久久久久不 | 久久久久久久久久久久电影| 亚洲午夜精品网| 91浏览器在线视频| 国产精品乱码久久久久久| 久久99精品久久久久久国产越南| 在线观看国产一区二区| 国产精品久久久久久久久搜平片| 国产乱码一区二区三区| 精品久久国产老人久久综合| 看电视剧不卡顿的网站| 337p亚洲精品色噜噜狠狠| 亚洲成人精品在线观看| 欧美精品一二三四| 图片区小说区区亚洲影院| 欧美亚洲综合色| 亚洲国产日产av| 欧美三级视频在线| 天堂av在线一区| 日韩欧美一区二区在线视频| 日本不卡不码高清免费观看| 日韩欧美一区二区免费| 国产在线精品一区二区夜色 | 国产精品亲子乱子伦xxxx裸| 国产寡妇亲子伦一区二区| 日本一区二区成人| 99久久国产综合色|国产精品| ●精品国产综合乱码久久久久| 91一区二区在线| 亚洲永久精品国产| 欧美精品一卡二卡| 久久av资源站| 欧美经典三级视频一区二区三区| 成人教育av在线| 亚洲一区二区三区美女| 4hu四虎永久在线影院成人| 久久99精品网久久| 国产精品三级久久久久三级| 色综合色综合色综合色综合色综合| 亚洲美女淫视频| 欧美一区2区视频在线观看| 国产精品综合在线视频| 亚洲黄色性网站| 精品伦理精品一区| 91丨九色丨国产丨porny| 日本亚洲天堂网| 国产精品第一页第二页第三页| 欧美偷拍一区二区| 国产精品中文欧美| 亚洲影院理伦片| 久久久久久一级片| 欧美日韩大陆在线| 成人亚洲一区二区一| 偷拍一区二区三区| 中文字幕精品—区二区四季| 欧美日韩一区在线观看| 九一久久久久久| 中文字幕综合网| 欧美精品一区二区高清在线观看| jizzjizzjizz欧美| 久久精品国产亚洲高清剧情介绍| 国产精品成人一区二区三区夜夜夜| 欧美肥妇bbw| 91美女片黄在线观看| 国产精品一区二区免费不卡| 亚洲成人免费看| 中文字幕亚洲区| 久久精品欧美一区二区三区麻豆| 欧美精品丝袜中出| eeuss鲁一区二区三区| 久久99热狠狠色一区二区| 亚洲激情成人在线| 国产精品久久久久久久久图文区| 精品国产伦一区二区三区观看体验| 色综合中文综合网| 日韩亚洲欧美高清| 欧美午夜不卡视频| 99久久er热在这里只有精品66| 久久精品国产精品青草| 午夜精品123| 亚洲成人中文在线| 一区二区三区四区亚洲| 国产精品护士白丝一区av| 久久综合色鬼综合色| 欧美tk—视频vk| 欧美一级专区免费大片| 678五月天丁香亚洲综合网| 91黄视频在线|