--begin 建立tb1表
if (object_id('tb1', 'u') is not null)
drop table tb1
gocreate table tb1(id int,name varchar(10),state int default(0))
declare @n int
set @n=0
while (@n<10)
begin
insert into tb1 (id,name)values(@n,'a'+cast( @n as varchar(5)))
set @n+=1;
endselect * into tb2 from tb1
select * from tb1
--end
--begin 建立觸發器
if (object_id('datasync', 'tr') is not null)
drop trigger datasync
gocreate trigger datasync
on tb1
for update
as begin
update tb2
set tb2.name=tb1.name
from inserted as tb1 where tb2.id=tb1.id
end
--end
--begin 測試
update tb1
set name='tb1_name'
where id in (1,2,3,5,6,7)
select * from tb1
select * from tb2
--end
參考:
sql update語句,更新表中的符合要求的多條記錄,更新的值是從另乙個表中呼叫的
url:
sql server 觸發器
url:
sql觸發器的使用
觸發器的幾條效果語句 after在觸發事件之後 befor 在觸發器之前 insert 觸發的條件 update 更新事件 delete 刪除事件 insert 插入事件 例項 delimiter 把語句結束符號換成 因為trigger中會用到 create trigger t1 after ins...
sql 觸發器 直接遞迴觸發器
create trigger dbo loving20000 on dbo s for delete asdeclare age int select age sage from deleted delete s where sage age delete from s where sname xq...
sql 觸發器 儲存過程 觸發器(3 3)
1 what?什麼是觸發器 trigger 前兩篇介紹了儲存過程,儲存過程可以理解為sql語句集。那麼觸發器就是一種特殊的儲存過程,也就是一群特殊的sql語句集。特殊在哪?從上文得知,儲存過程是依賴名字才被呼叫的。不僅是儲存過程,我們常用的方法等,大部分也是先知道名字,才能去使用。就像吃飯採用訂外賣...