В большинстве случаев при переходе от одной записи к другой блокировка снимается. Однако если вы заблокировали запись командами блокировки, ее необходимо разблокировать, чтобы к ней могли получить доступ другие пользователи. В табл. 20.2 описаны команды, используемые для снятия блокировок.
Таблица 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 разблокировать нельзя.