資料庫觸發器用法總結

2021-06-12 02:31:36 字數 972 閱讀 8995

最近了解了一下資料庫觸發器,並做一點實際的應用,在翻看其概念的時候,還是本著從理解的角度來學習的,但是,到了實際的應用場景中,還是有一些特別注意的地方的,下面是自己在應用中的幾點體會

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

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

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

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

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

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

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

SQL Server的觸發器用法

dml 資料操縱語言 data manipulation language 觸發器 一 建立觸發器 create trigger 觸發器名字 on 表名 for after instead of insert update delete as if begin sql 語句 rollback tra...

mysql 觸發器用法例項詳解

mysql觸發器語法詳解 觸發器 trigger是一種特殊的儲存過程,他在插入 inset 刪除 delete 或修改 update 特定表中的資料時觸發執行,它比資料本身標準的功能更精細和更複雜的資料控制能力。觸發器不是由程式呼叫,而是由某個事件來觸發的。在有資料修改時自動強制執行其業務規則,經常...

資料庫總結九觸發器

在sql server 2005中,觸發器可以分為兩大類 dml觸發器和ddl觸發器 dml觸發器 dml觸發器是當資料庫伺服器中發生資料操作語言 data manipulation language 事件時執行的儲存過程。dml觸發器又分為兩類 after觸發器和instead of觸發器 ddl...