回覆列表
-
1 # 寒來一暑往
-
2 # 使用者2458114238191884
觸發器的主要優點有哪些
1. 自動執行。觸發器在對錶的資料作了任何修改(比如手工輸入或者應用程式的操作)之後立即被啟用。
2. 級聯更新。觸發器可以透過資料庫中的相關表進行層疊更改,這比直接把程式碼寫在前臺的做法更安全合理。
3. 強化約束。觸發器可以引用其它表中的列,能夠實現比CHECK約束更為複雜的約束。
4. 跟蹤變化。觸發器可以阻止資料庫中未經許可的指定更新和變化。
5. 強制業務邏輯。觸發器可用於執行管理任務,並強制影響資料庫的複雜業務規則。
觸發器具有以下特點:(1)觸發器有兩種能自行保持的穩定狀態,分別表示二進位制數0和1或二值資訊邏輯0和邏輯1。(2)在適當的觸發訊號作用下,觸發器可從一種穩定狀態轉變為另一種穩定狀態;當觸發訊號消失後,能保持現有狀態不變。觸發器的優點:觸發器可透過資料庫中的相關表實現級聯更改;不過,透過級聯引用完整性約束可以更有效地執行這些更改。觸發器可以強制比用CHECK約束定義的約束更為複雜的約束。與CHECK約束不同,觸發器可以引用其它表中的列。例如,觸發器可以使用另一個表中的SELECT比較插入或更新的資料,以及執行其它操作,如修改資料或顯示使用者定義錯誤資訊。觸發器也可以評估資料修改前後的表狀態,並根據其差異采取對策。一個表中的多個同類觸發器(INSERT、UPDATE或DELETE)允許採取多個不同的對策以響應同一個修改語句約束和觸發器在特殊情況下各有優勢。觸發器的主要好處在於它們可以包含使用 Transact-SQL 程式碼的複雜處理邏輯。因此,觸發器可以支援約束的所有功能;但它在所給出的功能上並不總是最好的方法。實體完整性總應在最低級別上透過索引進行強制,這些索引或是PRIMARYKEY和UNIQUE約束的一部分,或是在約束之外獨立建立的。假設功能可以滿足應用程式的功能需求,域完整性應透過CHECK約束進行強制,而引用完整性(RI)則應透過FOREIGNKEY約束進行強制。在約束所支援的功能無法滿足應用程式的功能要求時,觸發器就極為有用。