我有一个这样的表:
create table foo ( a number, b number )
我想使用另一个表中的值更新来自a的所有列
create table bar ( x number, y number )
因此,如果这将是一种程序编程语言,我将:
foreach foo_item in foo foreach bar_item in bar if( foo_item.b == bar_item.y ) foo_item.a = bar_item.x end end end
我试过了
update foo set a = ( select distinct( x ) from bar where bar.y = foo.b )
但它挂起了…。 我不确定如何做这样的事情(甚至不知道谷歌该怎么做)
谢谢
编辑 对不起,我不好。它不会挂起,但是会尝试设置va null值,并且我有一个约束(无法删除)
感谢你目前的帮助
更新foo set b =(从bar选择bar.y = foo.b的distinct(x))
可能由于性能原因而挂起,但应该可以工作。如果没有bar.y等于foo.b,请仔细检查会发生什么。如果将b设置为null是否可以?