2014-01-16 32 views
0

我有一個表記錄了某些服務的狀態。當我在表中插入一個值時在另一個表中觸發一個插入

當此表A收到一個值爲FALSE的插入時,我需要在另一個表中觸發插入。

讓我試着解釋一下:

我有一個表EMAIL到我插入我想發送電子郵件。我有另一個表LOG記錄一項服務。如果表LOG在字段STATUS上接收到一個值爲FALSE的插入,我想在表EMAIL中觸發一個插入。

回答

3

您好嘗試此...........

-------------Sample Table 

create table [log] (Id int,[status] varchar(10)) 
create table Email ([Status] varchar(10),id int) 

go 

------------ Trigger Creation 

    create trigger tri_log on log 
for insert 
as 

insert into email(id,[status]) 
select a.[id],a.[status] 
from inserted a where a.[status] = 'false' 

go 

------------------Sample Check 

select * from [log] 
select * from [email] 

-----------insert records for test 

insert into [log] values (1,'True') 
insert into [log] values (2,'False') 

----------verify result 
select * from [log] 
select * from [email] 
+0

插入多於1行時,這將失敗:插入[日誌]值(1, '真'),(4 ,'假') –

+0

@ t.clausen坦克的評論和我編輯了觸發器,我認爲這將適用於多行。 – Kishore

+0

是的,它也修復了不同的問題+1 –

相關問題