Oracle Update多行记录的语句
发布网友
发布时间:2022-04-08 09:30
我来回答
共3个回答
热心网友
时间:2022-04-08 10:59
如果存在则替换,不存在保留原值
update table2 set people = (select NAME from table1 where table1.id = table2.id)
where exists (select NAME from table1 where table1.id = table2.id)
热心网友
时间:2022-04-08 12:17
SQL语句楼上的就是正解,SQL Server里面和Oracle就是一个用in一个不用in的区别,在oracle用exists效率能比in快些。
热心网友
时间:2022-04-08 13:52
这个问题我回答了好多遍了,再来一次吧
update table2 t1 set t1.PEOPLE=(select name from table1 t2 where t2.id=t1.id)
where exists (select 1 from table1 t3 where t3.id=t1.id)
另外一种写法是用merge into 具体写法大概如下,我不太确定,你自己查下语法
merge into table2 t1
using(select name from table1 ) t2 on t1.ID=T2.ID
when matched then
update set t1.prople=t2.name