資料庫觸發器 Trigger 的一點使用心得

2022-09-28 08:51:08 字數 970 閱讀 2088

(1) 針對較為複雜的跨多表的資料業務級別的約束,可以通過觸發器程式設計客棧來替代大量的後台判斷**,效率較高且便捷。

(2) 如果想通過觸發器輔助業務邏輯,不能單著眼於資料庫內容的變化來設計觸發器,還必須緊密結合業務模型中涉及該錶的所有地方,因為很有可能因為不一致的邏輯處理方式導致我們設計的觸發器遺漏下一些分支條件!其實,在這種情況下,如果能有更好的方法,不建議使用觸發器,因為牽扯到過多的業務邏輯內容的話,會使觸發器的設計和編寫困難重重,不能充分發揮其便捷高效的優點。

(3) 鑑於觸發器在實際執行的時候,是被包含在乙個資料庫事務中程式設計客棧的,所以我們在編寫了完整的處理分支後,就可以完全信賴它的執行,大量併發情況下,資料庫會自動處理好對各事務的操作,不用擔心觸發器的效能和正確性。 程式設計客棧

(4) 在同乙個事務中的不同執行語句,如果後面語句中的操作觸發了相應表的觸發器,則在觸發器內可以檢視前面語句執行後的結果列表的內容,所以,在使用觸發器的時候,對事物中多條語句的操作的順序是要考慮清楚的。

(5) 如果我們使用觸發器+資料表的形式來對資料進行一些統計性的操作的時候,我們在保證觸發器邏輯完整性的前提下,最好能通過資料庫任務的方式來定時進行檢查,因為觸發器對於乙個用程式的操作都能有相應的處理,但對於人為的資料庫操作有時卻是無能為力的,所以,為了避免這樣的錯誤發生,有必要對統計結果做定期的校驗,保證資料的正確性,當然,如果可以,盡量不要使用這種方法,但在一些個性化專案中,因為一些特別的原因,可能會有程式設計客棧所應用。

(6) 我們可以間接地通過更新資料表的方式來除錯觸發器,當然,也可以通過在觸發器中新增一些「特殊的日誌性質的更新語句」來輔助我們的除錯。

最後再說一句,所謂「好鋼用在刀刃上」,觸發器在一些特殊的應用情況下,會極大地簡化我們的開發工作量,並提公升處理效率,但是它並使萬能的,也不是適用於各種應用環境,所以我們使用的時候,一定要慎重,更要權衡利弊。

本文標題: 資料庫觸發器(trigger)的一點使用心得

本文位址: /shujuku/shujukuqita/50325.html

資料庫原理 觸發器 Trigger

禁用觸發器.解禁觸發器.刪除觸發器.觸發器是一種特殊型別的儲存過程。sql server在工作時為每個觸發器在伺服器的記憶體上建立兩個特殊的表 插入表inserted和刪除表deleted。例 設計乙個觸發器,在學生表s中刪除某乙個學生時,在選課表sc中該學生的選課記錄也全部被刪除。use teac...

oracle 資料庫 觸發器 trigger 語法

關鍵字 oracle 資料庫 觸發器 trigger 語法 語法規則 create or replace trigger 模式.觸發器名 before after insert delete update of 列名 on 表名 for each row when 條件 pl sql塊 說明 for...

Trigger觸發器的instead of語句意義

instead of 指定執行觸發器而不是執行觸發語句,從而代替觸發語句的操作 例子 use test go create trigger t1 on a instead of delete asprint 資料刪除不成功 go 當在表a上有delete語句被執行時,觸發此觸發器,而原delete語...