Oracle多表更新问题
Oracle多表更新问题表A有a1a2a3a4a5字段,表B有b1b2b3b6四个字段,现在想实现的是当a1=b1并且a2=b2a3=b3的时候将表B的b6更新到表A的a...
Oracle多表更新问题表A有 a1 a2 a3 a4 a5 字段,表B有 b1 b2 b3 b6 四个字段,现在想实现的是 当 a1 = b1 并且 a2 = b2 a3 = b3的时候 将表B的b6 更新到表A的a5中 如何写语句,谢谢
展开
1个回答
展开全部
可以用游标来执行更新,也可以用update语句更新。
但是oracle没有update from语句,可以用子查询来给源数据表的字段赋值,如果需要赋多个值的话,则用括号括起来,格式:
update table_name
set (field1, field2, ... ) = (select value1, value2, ... from source_table)
where ...
而where条件中则可以用exists测试是否要更新记录。更新语句大概这样:
update A s1
set a5 = (select b6
from B s2
where s2.b1 = s1.a1 and s2.b2 = s1.a2 and s2.b3 = s1.a3 and rownum = 1)
where exists (
select b6
from B s2
where s2.b1 = s1.a1 and s2.b2 = s1.a2 and s2.b3 = s1.a3 and rownum = 1
)
即赋值子句和where条件是类似的。
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询