В большинстве случаев при переходе от одной записи к другой блокировка снимается. Однако, если вы заблокировали запись командами блокировки, ее необходимо разблокировать, чтобы к ней могли получить доступ другие пользователи. В табл. 20.2 описаны команды, используемые для снятия блокировок.
Команда | Описание |
CLOSE | Снимает асе блокировки с записей и таблиц |
CLOSE ALL | Снимает все блокировки с записей и таблиц |
END TRANSACTION | Снимает все автоматически установленные блокировки |
QUIT | Снимает все блокировки с записей и таблиц |
UNLOCK | Снимает все блокировки с записей и таблиц в текущей рабочей области |
UNLOCK ALL | Снимает все блокировки с записей и таблиц во всех рабочих областях |
USE | Снимает все блокировки с записей и таблицы |
SET MULTILOCKS OFF | Позволяет автоматическое снятие текущей блокировки при создании новой |
FLOCK ( ) | Перед блокировкой файла снимает все блокировки находящихся в нем записей |
TABLEUPDATE ( ) | Прежде чем обновить таблицу, снимает все блокировки |
Наиболее часто для снятия блокировок с таблиц и записей используется команда UNLOCK, которая имеет следующий синтаксис:
UNLOCK [RECORD номерЗаписи] [IN < псевдонимТаблицы >] [ALL]
Команда UNLOCK без параметров сбрасывает блокировку с текущей записи или таблицы.
При снятии блокировки с таблицы опция RECORD не используется, задается только псевдоним таблицы. Если псевдоним не указан, снимается блокировка с текущей таблицы. Для разблокировки всех открытых таблиц используется параметр ALL. Для снятия блокировки с записи укажите параметр RECORD и номер записи.
Замечание
Блокировка записи или таблицы может сниматься только пользователем, установившим данную блокировку. Таблицы, открытые в режиме полной блокировки, с помощью команды UNLOCK разблокировать нельзя.