LOCK TABLE ОПЕРАТОР

В этом руководстве Oracle объясняет, как использовать оператор Oracle LOCK TABLE с синтаксисом и примерами.

Описание

Оператор LOCK TABLE используется для блокировки таблиц, разделов таблицы или подразделов таблицы.

Синтаксис

LOCK TABLE tables IN lock_mode MODE [ WAIT [, integer] | NOWAIT ];

Параметры или аргументы

tables
Список таблиц разделенный запятыми.
lock_mode
Это одно из следующих значений:

тип блокировки пояснение
ROW SHARE Позволяет одновременный доступ к таблице, но пользователи не имеют возможности блокировки всей таблицы для монопольного доступа.
ROW EXCLUSIVE Позволяет одновременный доступ к таблице, но пользователи не имеют возможности блокировки всей таблицы с эксклюзивным доступом и блокировки таблицы в общем режиме.
SHARE UPDATE Позволяет одновременный доступ к таблице, но пользователи не имеют возможности блокировки всей таблицы для монопольного доступа.
SHARE Позволяет параллельные запросы, но пользователи не смогут обновить заблокированную таблицу.
SHARE ROW EXCLUSIVE Пользователи могут просматривать записи в таблице, но не имеют возможности обновления таблицы или блокировки таблицы в режиме SHARE.
EXCLUSIVE Позволяет запросы к заблокированной таблице, но никаких других мероприятий.

WAIT
Он указывает на то, что база данных будет ждать (до определенного количества секунд, как это определено целым числом), чтобы получить блокировку DML.

NOWAIT
Он указывает, что база данных не должна ждать, пока блокировка будет снята.

Пример

Рассмотрим на примере, как использовать оператор LOCK TABLE в Oracle.

LOCK TABLE suppliers IN SHARE MODE NOWAIT;

В этом примере будет блокироваться таблица suppliers в SHARE MODE, и не ждать пока блокировка будет снята.

Смотри также в категории: Транзакции