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內部把觸發器看做是儲存過程但是不能傳遞引數 一般的儲存過程通過儲存過程名稱被直接呼叫,而觸發器主要是通過事件進行觸發而被執行.總的來說,觸發器是一種功能強大的工具,在表中資料發生變化時自動強制執行,觸發器還可以...