Возвращает логическое значение, которое показывает, помечена ли текущая запись на удаление.
Синтаксис:
DELETED([cTableAlias | nWorkArea])
Параметры:
cTableAlias | nWorkArea
Вы можете проверить статус текущей записи в таблице, открытой в другой рабочей области, задав номер рабочей области в аргументе nWorkArea или псевдоним таблицы в аргументе cTableAlias. Если в заданной рабочей области нет открытых таблиц, функция DELETED( ) возвращает значение "ложь".
Если аргументы cTableAlias и nWorkArea опущены, статус удаления возвращается для текущей записи в текущей рабочей области.
Результат:
Логический
Комментарии:
Если запись помечена на удаление, функция DELETED( ) возвращает значение "истина" (.T.), в противном случае она возвращает "ложь" (.F.).
Записи помечаются на удаление командами DELETE и DELETE - SQL, а снять такую маркировку можно командой RECALL.
Технология Rushmore оптимизирует запросы, проверяющие для записей статус удаления, если таблица индексирована по функции DELETED( ). О том, как оптимизировать запросы по технологии Rushmore, см. темы SET OPTIMIZE и Основы технологии Rushmore и главу 17 "Оптимизация приложений" Руководства разработчика.
Пример:
* В следующем примере открывается таблица customer в базе данных * testdata. Команда DELETE - SQL помечает на удаление все записи, в * которых поле country содержит значение USA. Функция DELETED( ) * используется для отображения всех записей, помеченных для удаления. * Команда RECALL ALL используется для снятия маркировки со всех * записей, помеченных на удаление. CLOSE DATABASES OPEN DATABASE (HOME( ) + 'samples\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