更新多行

时间:2011-04-06 20:49:36

标签: sql oracle

我正在使用UPDATE更新表中的所有记录,其中包含来自另一个表的值:

UPDATE x.ADR_TEMP SET LOCATIONID = (SELECT ID FROM x.OBJECTRELATIONSHIP WHERE PROPERTYCLASS = 'PHYSICALLOCATION')
两个表中的

是相同数量的记录。我只需要从一个表中读取id并将它们放入另一个表中。

我有错误:ORA-01427: single-row subquery returns more than one row

我是这个主题的新手,并怀疑解决方案非常简单。请帮帮我

1 个答案:

答案 0 :(得分:0)

UPDATE x.ADR_TEMP SET LOCATIONID = (
                                     SELECT ID 
                                     FROM x.OBJECTRELATIONSHIP 
                                     WHERE PROPERTYCLASS = 'PHYSICALLOCATION' AND x.ADR_TEMP.relatedKey = x.OBJECTRELATIONSHIP.relatedKey )

如果你的表彼此相关,有这样的方式(relatedKey是一个与提到的第二个表有关的列),你可以尝试这个。(不确定或完美)