Oracle 数据库 根据B表的数据更新A表
本来打算用循环写了,结果发现这样可以,记录一下,以防下次再用忘记方法
update A
set A.字段2 = (select B.id from B where A.字段2 = B.字段2)
where exists (select 1 from B where B.字段2 = A.字段2);
-- 如果B表字段2有重复,那么会报错:单条语句返回多行。此时用下面语句:
update A
set A.字段2 = (select B.id from B where A.字段2 = B.字段2 and rownum=1)
where exists (select 1 from B where B.字段2 = A.字段2);