2010-11-03 6 views
5

Возможно ли обновить несколько таблиц в Oracle одним запросом, используя join? Если да, то какой синтаксис? Мой коллега сказал, что он сделал это в MySQL.Обновление нескольких таблиц в Oracle

Update - То, что я пытаюсь сделать что-то вроде этого

UPDATE table1 t1 JOIN table2 t2 ON t1.id = t2.id SET t1.column1 = 'ABC', t2.column2 = 'BCD' WHERE <condition> 
+0

Вы нашли решение для этого? У меня есть аналогичная проблема, когда я хотел бы обновить столбец статуса в каждой из двух таблиц с помощью одного вызова db вместо двух отдельных вызовов. – bakoyaro

+1

Нет. Это не работает. –

ответ

4

Какую проблему вы пытаетесь решить? Вы не можете использовать один оператор обновления в Oracle для обновления нескольких таблиц, но это возможно с помощью триггера «Вместо» в представлении.

+0

У меня есть только разрешения SELECT и UPDATE. Я не могу создать триггер. –

+0

@ Джойс Бабу: вид и триггер могут быть в вашей собственной схеме. Вам не нужны никакие дополнительные привилегии для таблиц. (Я предполагаю, что вы можете по крайней мере создавать объекты в своей собственной схеме.) –

+0

Спасибо jonearles. Проект завершен, и у меня больше нет доступа к серверу, чтобы проверить это. –

Смежные вопросы