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