Возвращает логическое значение (.T./.F.), указавающее, отмечена ли на удаление текущая запись таблицы.

DELETED([cTableAlias | nWorkArea])

Параметры

cTableAlias| nWorkArea

Вы можете проверить текущий статус отметки на удаление записи таблицы, открытой в заданной рабочей области, параметр nWorkArea или  имеющей заданный алиас, параметр cTableAlias. Если нет открытой таблицы в заданной рабочей области, DELETED( ) возвращает значение = false.

Если параметры отсутствуют, cTableAlias или nWorkArea, то статус отметки на удаление возвращается для текущей записи таблицы, открытой в текущей рабочей области.

Expand imageВозвращаемое значение

Логического типа

Expand imageКомментарии

Если запись помечена "на-удаление", DELETED( ) возвращает значение = true (.T.); в другом случае, DELETED( ) возвращает значение =false (.F.).

Отметка записей для удаления выполняется командами DELETE или DELETE – SQL, снятие пометки удаления записи выполняется командой RECALL.

Технология ускорения выполнения запросов Rushmore Query Optimization включается при использовании в индексных выражениях данной функции DELETED( ).

См. дополнительно разделы SET OPTIMIZE и Использование технологии Rushmore Query Optimization для ускорения доступа к Данным.

Expand imageПример

В следующем примере открывается таблица customer, из базы данных testdata. Команда DELETE – SQL используется для удаления всех записей, для которых выполняется условие country = 'USA'. Функция DELETED( ) используется для отображение записей таблицы, помеченных для удаления. Команда RECALL ALL используется для снятия отметки на удаление.

  CopyCode imageКопировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && Opens Customer table

DELETE FROM customer WHERE country = 'USA' && Mark for deletion
CLEAR
LIST FIELDS company, country FOR DELETED( ) && List marked records
RECALL ALL && Unmark all records marked for deletion

Expand imageСм. также