关于UPDATE SELECT的问题
有两个表
表A结构和值如下:
id name1 age1 rowid
----------------------------
a name1 12 1
b name2 13 2
表B结构和值如下:
id name2 age2 rowid
----------------------------
a name3 22 1
c name4 33 2
我现在想把表a的name1和age1更新成表b的name2和age2的值,
如果它们的id相同的话。
执行後的结果应该为
表A执行後的值如下:
id name1 age1 rowid
----------------------------
a name3 22 1
b name2 13 2
请问这个SQL文在ORACLE中应该怎么写?
如下的写法在SQL SERVER 中执行正确,
但是在ORACLE中报错:SQL语 命令未正确结束。
update a set name1=name2,age1=age2
from a,b
where a.id = b.id 。
------解决方案--------------------update a set (name1,age1) =(select name2,age2 from b where a.id=b.id)
where exists(select 1 from b where a.id=b.id);