1、 after觸發器(之後觸發)
a、 insert觸發器
b、 update觸發器
c、 delete觸發器
2、 instead of
觸發器 (之前觸發)
觸發器語句中使用了兩種特殊的表:deleted 表和 inserted 表。
deleted 表用於儲存
delete 和 update 語句所影響的行的複本。在執行 delete 或 update
語句時,行從觸發器表中刪除,並傳輸到 deleted 表中。deleted 表和觸發器表通常沒有相同的行。
inserted 表用於儲存
insert 和 update
語句所影響的行的副本。在乙個插入或更新事務處理中,新建行被同時新增到 inserted 表和觸發器表中。inserted 表中的行是觸發器表中新行的副本。
1.插入操作(insert
) inserted表有資料,deleted表無資料
2.刪除操作(delete
) inserted表無資料,deleted表有資料
3.更新操作(update
) inserted表有資料(新資料),deleted表有資料(舊資料)
示例:根據tb1表同步(增、刪、改)tb2表
--增加資料
create
trigger
inserttrg
ontb1
forinsert
asdeclare
@idvarchar,@val
varchar
select
@id= id from
inserted
select
@val
= val from
inserted
insert
into
tb2
values(@id , @val
)
--修改資料
create
trigger
updatetrg
ontb1
forupdate
asupdate
tb2
set val = (select val from
inserted)
where id = (select id from
inserted)
--刪除資料
create
trigger
deltrg
ontb1
fordelete
asdelete
from
tb2
where id = (select id from deleted)
使用觸發器
觸發器 trigger 是個特殊的儲存過程 一般儲存過程主要通過儲存過程名而被直接呼叫,觸發器則是通過事件觸發執行。觸發器基於乙個表來建立並和乙個或多個資料修改操作 插入 更新或刪除 相關聯,可視作表的一部分。觸發器與資料庫中的表緊密相關,比如當對表執行insert update或delete操作時...
mysql 觸發器 觸發器使用
1 了解什麼是觸發器?mysql 的觸發器和儲存過程一樣,都是嵌入到mysql的一段程式,觸發器 是由事件觸發某個動作,這些事件包括,插入 更新 刪除等語句。如果定義了觸發程式,觸發器就會觸發執行相應的操作。觸發器 trigger 是個特殊的儲存過程,不同的是,執行儲存過程要使用call語句來呼叫,...
積分觸發器 mysql 觸發器的使用
將多個資料庫中的某列資料同步時需要用到mysql觸發器,以下可做參考,已簡單測試ok.修改紅棗的積分時觸發 drop trigger if exists u hongzaocount delimiter create trigger u hongzaocount after update on ho...