觸發器基本使用

2022-05-13 05:12:22 字數 1424 閱讀 8256

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...