第十章触发器的创建与管理
第十章觸發(fā)器的創(chuàng)建與管理
- 10.1_觸發(fā)器簡介
- 10.2_觸發(fā)器的創(chuàng)建、修改、刪除
- 10.2.1_觸發(fā)器的創(chuàng)建
- 10.2.2_觸發(fā)器的修改
- 10.2.3_觸發(fā)器的刪除
- 10.2.4_觸發(fā)器的創(chuàng)建、修改、刪除舉例
- 10.3_instead of觸發(fā)器
- 10.3.1_instead of觸發(fā)器簡介及舉例 有疑問
- 10.4_inserted、deleted表
- 10.5_注意事項(xiàng)
10.1_觸發(fā)器簡介
觸發(fā)器是一種特殊的存儲過程,常常用于實(shí)現(xiàn)強(qiáng)制業(yè)務(wù)規(guī)則和數(shù)據(jù)完整性。觸發(fā)器由SQL Server自動執(zhí)行,不能由應(yīng)用程序調(diào)用,這是它與存儲過程不同的地方,便于保護(hù)數(shù)據(jù)庫的完整性和完全性。
10.2_觸發(fā)器的創(chuàng)建、修改、刪除
10.2.1_觸發(fā)器的創(chuàng)建
CREATE TRIGGER trigger_name [WITH ENCRYPTION]--加密 ON table_name {FOR | AFTER | INSTEAD OF} INSERT, UPDATE, DELETE AS --sql過程塊10.2.2_觸發(fā)器的修改
ALTER TRIGGER trigger_name [WITH ENCRYPTION]--加密 ON table_name FOR INSERT, UPDATE, DELETE AS --sql過程塊10.2.3_觸發(fā)器的刪除
DROP TRIGGER trigger_name10.2.4_觸發(fā)器的創(chuàng)建、修改、刪除舉例
CREATE TRIGGER Company_attention ON Company WITH ENCRYPTION FOR INSERT AS print '字符串' ALTER TRIGGER Company_attention ON Company WITH ENCRYPTION FOR INSERT AS print '字符串' DROP TRIGGER Company_attention10.3_instead of觸發(fā)器
10.3.1_instead of觸發(fā)器簡介及舉例 有疑問
instead of觸發(fā)器作用:執(zhí)行觸發(fā)器中的內(nèi)容,而禁止執(zhí)行觸發(fā)詞觸發(fā)器的sql語句
CREATE TRIGGER [CONTRACT_DELETE] ON [CONTRACT] INSTEAD OF DELETE--instead of類型 AS BEGIN IF EXISTS (SELECT Count(*) FROM ContractDetail WHERE ContractID IN (SELECT ContractID FROM Deleted))--如果這個結(jié)果不是0就說明有相關(guān)記錄 --打印 PRINT ‘合同明細(xì)表中有相關(guān)記錄,不能刪除’ ELSE--否則就刪除 DELETE FROM CONTRACT WHERE CONTRACTID in (SELECT CONTRACTID FROM deleted) END再次刪除不會再次觸發(fā)這個觸發(fā)器嗎
10.4_inserted、deleted表
Inserted表 :
存放由insert 或update語句的執(zhí)行而導(dǎo)致要加到該觸發(fā)器作用的表中去的任何新行。
deleted表 :
存放由delete 或update語句的執(zhí)行而導(dǎo)致要從被該觸發(fā)器作用的表中刪除的任何行。
inserted與deleted表中自帶與操作的表同樣的屬性列
10.5_注意事項(xiàng)
SQL Server 允許創(chuàng)建的存儲過程引用尚不存在的對象。在創(chuàng)建時,只進(jìn)行語法檢查。 CREATE TRIGGER
必須是批處理中的第一條語句,并且只能應(yīng)用到一個表中。
觸發(fā)器中不允許以下 Transact-SQL 語句:ALTER DATABASE 、CREATE DATABASE、 DISK INIT 、DISK RESIZE 、DROP DATABASE 、LOAD DATABASE 、LOAD LOG 、RECONFIGURE 、RESTORE DATABASE 、RESTORE LOG
總結(jié)
以上是生活随笔為你收集整理的第十章触发器的创建与管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【TensorFlow】 基于视频时序L
- 下一篇: C语言小白——数组与字符串