2013-03-07 3 views
0

Как использовать предложение select for update для блокировки таблицы с объединением.Использование для обновления с помощью объединения

это возможно

select * from table_a,table_b 
where table_a.join_col=table_b.join_col 
for update table_a.col1 
union 
select * from table_a 

, но это невозможно, так как мы не можем использовать для обновления с профсоюзом.

не могли бы вы помочь мне.

ответ

0

Oracle претензий документации:

Ограничения на FOR UPDATE пункта
Это предложение с учетом следующих ограничений
:
Вы не можете указать этот пункт со следующими другими конструкциями: неповторяющиеся оператор, выражение CURSOR , операторы набора, group_by_clause или агрегатные функции.

+0

Затем я хочу заблокировать столбец table_a.col1, как мы можем избежать обновления в этом столбце из другой программы? –

+0

@VijayNalawade - вы не можете заблокировать столбец. Вы можете заблокировать набор строк 'select ... for update' или целую таблицу' lock table'. –

+0

yes Я хочу заблокировать строки, выбранные из запроса select для table_a в предыдущем запросе, которые имеют предложение union. –

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