FREEZESEL


Библиотека

V32.EXE

Синтаксис

FREEZESEL(file: IDENT;
          { VAR field: ANYTYPE;
            value: ANYTYPE });

Описание

Процедура переносит из рабочей половины в архивную все записи текущего селекта двойного файла file, удовлетворяющие условию фильтра, наложенного при помощи произвольного количества пар необязательных параметров field и value. Каждая пара необязательных параметров задает равенство, равенства объединяются в условие фильтра конъюнкцией. Первый в паре параметр field обязан быть полем файла file, но не обязан входить в индексы файла. Второй параметр value задает значение и обязан быть совместим с field по сравнению.

При включенном контроле ссылочной целостности базы данных вместе с записями файла file будут перенесены все связанные записи транзитивных двойных BORROW-файлов. Если какая-либо запись, подлежащая переносу, уже находится в архивной половине, это не является ошибкой и не влияет на обработку других записей.

FREEZESEL обладает всеми особенностями процедур модификации группы записей.

В целом, результат работы процедуры FREEZESEL аналогичен последовательным вызовам FREEZE для всех записей селекта файла file, удовлетворяющих условию фильтра, однако вызов FREEZESEL эффективнее и меньше загружает сеть.

В результате выполнения процедуры текущая позиция в курсоре файла file станет неопределенной, но установленный селект сохранится.

Исключительные ситуации

Указанное поле не является полем файла file Исключение 19
Указано массивовое поле файла file Исключение 10
Указанный файл не имеет архивной половины Исключение 130
Не определен SELECT в файле file Исключение 363
При включенном контроле целостности БД нет прав чтения (права Scan) для одного из BORROW-файлов файла file Исключение 224
Нет права ArcWrite на файл file или на один из его BORROW-файлов (при включенном контроле целостности БД) Исключение 226
Не удалось выполнить блокировку записи файла file или одного из его BORROW-файлов (при включенном контроле целостности БД) Исключения 371, 372, 374, 380, 381

См. также