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);
本文介绍了一种使用Oracle数据库更新A表数据的高效方法,通过利用B表数据进行更新,避免了循环操作,同时解决了B表字段重复导致的错误。文中还提供了解决单条语句返回多行错误的方法。
1085

被折叠的 条评论
为什么被折叠?



