Обновление с несколькими строками - PullRequest
0 голосов
/ 07 апреля 2011

Я использую UPDATE для обновления всех записей в таблице значением из другой таблицы:

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

в обеих таблицах одинаковое количество записей. Мне просто нужно прочитать идентификатор из одной таблицы и положить их в другую.

У меня ошибка: ORA-01427: single-row subquery returns more than one row

Я новичок в этой теме и подозреваю, что решение очень простое. Пожалуйста, помогите мне

1 Ответ

0 голосов
/ 07 апреля 2011
UPDATE x.ADR_TEMP SET LOCATIONID = (
                                     SELECT ID 
                                     FROM x.OBJECTRELATIONSHIP 
                                     WHERE PROPERTYCLASS = 'PHYSICALLOCATION' AND x.ADR_TEMP.relatedKey = x.OBJECTRELATIONSHIP.relatedKey )

если ваши таблицы связаны друг с другом подобным образом (relatedKey - это столбец, относящийся ко второй упомянутой таблице), вы можете попробовать эту (не уверен или не идеально)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...