SQL批量update

两张表,table1(name,id),table2(name,id),两张表的区别是对相同的name分配的id是不同的,现在想更新table1的id,使之和table2的一致,怎么样批量更新


参考答案:update table1 a
set id=(select id from table2 where name=a.name)
where exists
(select 1 from table2 where name=a.name) ;UPDATE table1 SET table1.id=table2.id FROM table1 INNER JOIN table2 ON table1.name=table2.name

其他答案:楼上的语句是可以实现,但是每次都需要手动的去更新 还不如直接写个触发器来的方便。 触发器实现: create trigger A(触发器名字) on table1 for update as begin if update(id) update table2 set id=(select id from inserted) where table2.name=table1.name end

猜你喜欢

转载自zwustudy.iteye.com/blog/1846535