Оператор LOCK TABLE в PL/SQL Oracle
Команда блокирует всю таблицу базы данных в указанном режиме. Блокировка запрещает или разрешает модификацию данных таблицы со стороны других транзакций на то время, пока вы с ней работаете.
Синтаксис команды LOCKTABLE
LOCK TABLE список_таблиц IN режим_блокировки MODE [NOWAIT];
список_таблиц — список из одной или нескольких таблиц (локальных таблиц/представлений или доступных через удаленное подключение).
режим_блокировки — один из шести режимов: ROW SHARE, ROW EXCLUSIVE, SHARE UPDATE, SHARE, SHARE ROW EXCLUSIVE и EXCLUSIVE.
Если команда содержит ключевое слово NOWAIT, база данных не ждет снятия блокировки в том случае, если нужная таблица заблокирована другим пользователем, и выдает сообщение об ошибке. Если ключевое слово NOWAIT не указано, Oracle ждет освобождения таблицы в течение неограниченно долгого времени. Блокировка таблицы не мешает другим пользователям считывать из нее данные.
Важный момент: Там, где это возможно, используйте стандартные средства блокировки Oracle. Команду LOCK TABLE в приложениях следует использовать только в крайних случаях и с большой осторожностью.
Метки: LOCK TABLE, Oracle, Транзакции.