1、觸發器概念 (1)觸發器(trigger)是SQL server 提供給程式員和數據分析員來保證數據完整性的一種方法,它是與表事件相關的特殊的存儲過程,它的執行不是由程式調用,也不是手工啟動,而是由事件來觸發,比如當對一個表進行操作( insert,delete, update)時就會激活它執行 ...
1、觸發器概念
(1)觸發器(trigger)是SQL server 提供給程式員和數據分析員來保證數據完整性的一種方法,它是與表事件相關的特殊的存儲過程,它的執行不是由程式調用,也不是手工啟動,而是由事件來觸發,比如當對一個表進行操作( insert,delete, update)時就會激活它執行。觸發器經常用於加強數據的完整性約束和業務規則等。 觸發器可以從 DBA_TRIGGERS ,USER_TRIGGERS 數據字典中查到。SQL3的觸發器是一個能由系統自動執行對資料庫修改的語句。 --摘自百度百科
(2)觸發器與存儲過程的唯一區別是觸發器不能執行EXECUTE語句調用,觸發器為自動觸發。
2、創建簡單觸發器:
create trigger [dbo].[aa]
on [dbo].[aaaa]
for insert ,delete,update
as
truncate table bbbb
insert into bbbb
select code,imagepath,maxscore from aaaa
--其中 for 可換為 after 、before,根據實際場景
4、刪除觸發器
drop trigger triggerName
5、查找當前所有觸發器
select * from Sysobjects where xtype = 'TR'
--Sysobjects 中保存了創建的對象的信息,如表和觸發器的,若查找當前所有創建的表 xtype 值為 U
6、打開&&關閉觸發器
disable trigger tableName on triggerName --關閉
enable trigger tableName on triggerName --打開