У меня в одной таблице A есть столбец (id, field_1, field_2), а в другой таблице B есть столбец (id, field_2)
Теперь я хочу объединить таблицу B с A, это означает, что я хочу обновить field_2 в таблице A до значения таблицы B. Так как это реализовать? Кстати, я использую оракул
Благодарность
Ответы:
Альтернативный подход к связанному подзапросу (предложенный Kerri) заключается в использовании оператора MERGE, который может быть более эффективным, чем подвыбор (который можно проверить, только посмотрев план выполнения обоих операторов).
источник
MERGE
оператора является то, что вы не можете обновить столбец, к которому он присоединен, т.е. вы не можете обновить столбец, используемый вON
предложении.ORA-01555: snapshot too old
Не совсем уверен, что вы ищете в этом, но это должно работать как разовое или непрерывно через запланированное задание:
Теперь каждый раз, когда выполняется выше, он будет делать это во всех строках таблицы. Если это то, что вам нужно делать постоянно, я бы предложил что-то другое, но для одноразовых или очень маленьких столов этого должно быть достаточно.
источник
Я сделал это успешно, используя одну таблицу в user1 из другой таблицы в user2:
источник
Вы можете создать триггер на tableB, который обновляет tableA каждый раз, когда field_2 на tableB обновляется. Проверьте здесь для получения дополнительной информации о создании триггеров - http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_triggers.htm#BABCIBBJ
источник