sql 使用觸發器如何update多條記錄

2021-06-11 06:48:19 字數 988 閱讀 9072

--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語句集。特殊在哪?從上文得知,儲存過程是依賴名字才被呼叫的。不僅是儲存過程,我們常用的方法等,大部分也是先知道名字,才能去使用。就像吃飯採用訂外賣...