當前位置:成語大全網 - 新華字典 - 基本觸發器原理

基本觸發器原理

觸發器(trigger)是個特殊的存儲過程,它的執行不是由程序調用,也不是手工啟動,而是由個事件來觸發,比如當對壹個表進行操作(insert,delete,update)時就會激活它執行。觸發器可以從 DBA_TRIGGERS ,USER_TRIGGERS 數據字典中查到。SQL3的觸發器是壹個能由系統自動執行對數據庫修改的語句。

觸發器的作用

觸發器有如下作用:

可在寫入數據表前,強制檢驗或轉換數據。

觸發器發生錯誤時,異動的結果會被撤銷。

部分數據庫管理系統可以針對數據定義語言(DDL)使用觸發器,稱為DDL觸發器。

可依照特定的情況,替換異動的指令 (INSTEAD OF)。

優點

觸發器可通過數據庫中的相關表實現級聯更改,不過,通過級聯引用完整性約束可以更有效地執行這些更改。觸發器可以強制用比CHECK約束定義的約束更為復雜的約束。與 CHECK 約束不同,觸發器可以引用其它表中的列。例如,觸發器可以使用另壹個表中的 SELECT 比較插入或更新的數據,以及執行其它操作,如修改數據或顯示用戶定義錯誤信息。觸發器也可以評估數據修改前後的表狀態,並根據其差異采取對策。壹個表中的多個同類觸發器(INSERT、UPDATE 或 DELETE)允許采取多個不同的對策以響應同壹個修改語句。

慎用觸發器

觸發器功能強大,輕松可靠地實現許多復雜的功能,為什麽又要慎用呢。觸發器本身沒有過錯,但由於我們的濫用會造成數據庫及應用程序的維護困難。在數據庫操作中,我們可以通過關系、觸發器、存儲過程、應用程序等來實現數據操作…… 同時規則、約束、缺省值也是保證數據完整性的重要保障。如果我們對觸發器過分的依賴,勢必影響數據庫的結構,同時增加了維護的復雜程度。