SQL Server 2008編程入門經典筆記:觸發器

觸發器的概念

兩種:數據定義語言觸發器(DDL非常高級的概念)、數據操縱語言觸發器(DML)。
可將觸發器添加到一下事件:
INSERT、DELETE、UPDATE、三種任意類型的混合。
基本語法(詳細語法見書399):
CREATE TRIGGER <觸發器名字>
ON [.] <表名或視圖名>

1、ON子句
如果觸發器使用after那麼這裏必須指定爲表。
2、WITH ENCRYPTION選項
用於加密。
3、FOR|AFTER子句與INSTEAD OF子句
1)FOR|AFTER
1.1、INSERT觸發器
1.2、DELETE觸發器
1.3、UPDATE觸發器
4、WITH APPEND選項(不常用)
5、NOT FOR REPLICATION選項
6、AS子句

使用觸發器實施數據完整性規則

1、處理來自於其他表的需求
2、使用觸發器來檢查更新的變化
3、將觸發器用於自定義錯誤消息

觸發器的其他問題

1、觸發器可以嵌套
2、觸發器可以遞歸
3、觸發器不能防止體系結構的修改
4、可以在不刪除的情況下關閉觸發器
5、觸發器的激活順序
1)出於邏輯原因而控制激活順序
2)出於性能原因而控制激活順序

性能考慮

1、觸發器的被動性
2、觸發器與激活的進程之間不存在併發問題
3、使用IF UPDATE()和COLUMNS_UPDATED()
1)UPDATE()函數
2)COLUMNS_UPDATED()函數
4、保持觸發器短小精悍
5、選擇索引時不要忘記觸發器
6、不要在觸發器中進行回滾

刪除觸發器

語法:DROP TRIGGER [.]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章