SQL Server 中 觸發器 簡單示例

2021-05-07 09:25:00 字數 1539 閱讀 1923

注意 對 inserted,deleted 的查詢 使用

-------------------------

--當person表 新增 一條person記錄時

--將 該記錄的主鍵personname 儲存在changetable表中

use testdb

if exists (select name from sysobjects

where name = 'personinsert' and type = 'tr')

drop trigger personinsert

gocreate trigger personinsert

on person

for insert

asinsert into testdb.dbo.changetable

(changetablename, changetype, changetablepk, changetablepkvalue)

select 'person','insert','personname',personname from inserted

go--當person表 修改 一條person記錄時

--將 該記錄的主鍵personname 儲存在changetable表中

use testdb

if exists (select name from sysobjects

where name = 'personupdate' and type = 'tr')

drop trigger personupdate

gocreate trigger personupdate

on person

for update

asinsert into testdb.dbo.changetable

(changetablename, changetype, changetablepk, changetablepkvalue)

select 'person','update','personname',personname from inserted

go--當person表 刪除 一條person記錄時

--將 該記錄的主鍵personname 儲存在changetable表中

use testdb

if exists (select name from sysobjects

where name = 'persondelete' and type = 'tr')

drop trigger persondelete

gocreate trigger personupdate

on person

for delete

asinsert into testdb.dbo.changetable

(changetablename, changetype, changetablepk, changetablepkvalue)

select 'person','delete','personname',personname from deleted

go

sql server中觸發器

觸發器是一種特殊型別的儲存過程,它不同於之前的我們介紹的儲存過程。觸發器主要是通過事件進行觸發被自動呼叫執行的。而儲存過程可以通過儲存過程的名稱被呼叫。什麼是觸發器 觸發器對錶進行插入 更新 刪除的時候會自動執行的特殊儲存過程。觸發器一般用在check約束更加複雜的約束上面。觸發器和普通的儲存過程的...

SQL Server中的觸發器

去年接觸觸發器的時候一頭霧水,現在也算有了個大概的了解。就像的自考一樣,學習真的是乙個需要反覆的過程,從陌生到熟悉這是乙個過程。一 基本概念 觸發器是一種特殊型別的儲存過程,它不同於普通的儲存過程。觸發器主要是通過事件進行觸發而被執行的,而儲存過程可以通過儲存過程名稱而被直接呼叫。當往某乙個 中插入...

sql server觸發器的簡單使用

sql server觸發器用到的兩個邏輯表 deleted和inserted分別代表操作所變更的舊記錄集和操作所產生的新記錄集。其中 執行insert操作後deleted邏輯表為空,inserted邏輯表有資料 執行delete操作後inserted邏輯表為空,deleted邏輯表有資料 執行upd...