SQL Server触发器简单例子
SQL Server觸發器
1.是什么?
觸發器是一種專用類型的存儲過程,它被捆綁到SQL Server 的表格或者視圖上。
2.有什么作用
觸發器是一個特殊的存儲過程,主要是通過事件來觸發而被執行的。它可以強化約束,來維護數據的完整性和一致性,可以跟蹤數據庫內的操作從而不允許未經許可的更新和變化。可以聯級運算。如,某表上的觸發器上包含對另一個表的數據操作,而該操作又會導致該表觸發器被觸發。
3.有哪些類型的觸發器
有INSTEAD-OF和AFTER兩種觸發器。例如,如果有一個用于TableA的INSTEAD-OF-UPDATE觸發器,同時對這個表格執行更新語句,那么INSTEAD-OF-UPDATE觸發器里的代碼會執行,而不是執行更新語句則不會執行操作。AFTER觸發器要在DML語句在數據庫里使用之后才執行。這些類型的觸發器對于監視發生在數據庫表格里的數據變化十分好用。下面是一個簡單的實例。
DML(數據操作語言,Data Manipulation Language)觸發器
DML觸發器是一些附加在特定表或視圖上的操作代碼,當數據庫服務器中發生數據操作語言事件時執行這些操作。SqlServer中的DML觸發器有三種:
insert觸發器:向表中插入數據時被觸發;
update觸發器:修改表中數據時被觸發;
delete觸發器:從表中刪除數據時被觸發。
DML觸發器執行時,系統內存會自動生成deleted表或inserted表,執行結束會自動消失。
數據庫結構
insert觸發器:向表中插入數據時被觸發
當我插入books表,觸發器幫我自動修改了BookTypes的Nums列,所以影響了兩行
delete觸發器:從表中刪除數據時被觸發
其他基本同上
update觸發器:修改表中數據時被觸發
當我修改了books表的TypeID時,觸發器幫我修改了對應的修改前后BookTypes對應的Nums列,所以影響了三行
總結
以上是生活随笔為你收集整理的SQL Server触发器简单例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java面试题!5年经验Java程序员面
- 下一篇: 数据结构1800题-错题集-第七章