SQL Server的觸發器用法

2021-07-14 17:29:41 字數 1086 閱讀 6990

dml( 資料操縱語言 data manipulation language)觸發器

一、建立觸發器

create trigger (觸發器名字)

on (表名)

for | after | instead of  insert | update | delete as

[if ......]

begin

[sql 語句]    [rollback transaction] 

end   

說明:

instead of 即用 as後的sql語句操作 來 代替對錶的dml操作; after即在對錶的dml操作執行後 執行as後的sql語句;for等於對錶的dml操作執行as後的sql語句。

特別注意 rollback transaction,即回滾事務,不執行相應dml操作,保持原來的狀態。

二、更改觸發器

alter trigger (觸發器名字)

on (表名)

for | after | instead of  insert | update | delete as

[if ......]

begin

[sql 語句]    [rollback transaction] 

end  

三、刪除觸發器

drop trigger (觸發器名字)

四、虛擬表inserted和deleted

對錶的操作

inserted邏輯表

deleted邏輯表

增加記錄(insert)

存放增加的記錄

無刪除記錄(delete)

無存放被刪除的記錄

修改記錄(update)

存放更新後的記錄

存放更新前的記錄

觸發器中可直接引用inserted和deleted,就當成是平常建立的表。

五、檢視資料庫中已存在的觸發器

select * from sysobjects where xtype='tr';

六、檢視已存在的觸發器具體的**

exec sp_helptext (觸發器名字)

參考了

mysql 觸發器用法例項詳解

mysql觸發器語法詳解 觸發器 trigger是一種特殊的儲存過程,他在插入 inset 刪除 delete 或修改 update 特定表中的資料時觸發執行,它比資料本身標準的功能更精細和更複雜的資料控制能力。觸發器不是由程式呼叫,而是由某個事件來觸發的。在有資料修改時自動強制執行其業務規則,經常...

資料庫觸發器用法總結

最近了解了一下資料庫觸發器,並做一點實際的應用,在翻看其概念的時候,還是本著從理解的角度來學習的,但是,到了實際的應用場景中,還是有一些特別注意的地方的,下面是自己在應用中的幾點體會 1 針對較為複雜的跨多表的資料業務級別的約束,可以通過觸發器來替代大量的後台判斷 效率較高且便捷。2 如果想通過觸發...

SQLSERVER的觸發器

觸發器的定義 觸發器是一種特殊型別的儲存過程,他不同於前面介紹過的一般的儲存過程 在sql內部把觸發器看做是儲存過程但是不能傳遞引數 一般的儲存過程通過儲存過程名稱被直接呼叫,而觸發器主要是通過事件進行觸發而被執行.總的來說,觸發器是一種功能強大的工具,在表中資料發生變化時自動強制執行,觸發器還可以...