Происходит до удаления указанной таблицы из базы данных и с диска с помощью команды DROP TABLE. Имеется две версии синтаксиса.

PROCEDURE dbc_BeforeDropTable(cTableName, lRecycle) 
PROCEDURE dbc_BeforeDropTable
LPARAMETERS cTableName, lRecycle

Параметры

cTableName

Указывает имя таблицы, которая будет удалена из текущей базы данных и удалена с диска.

lRecycle

Определяет  - будет ли таблица помещена в Microsoft Windows Recycle Bin или немедленно удалена с диска. Некоторые данные, такие как свойства таблицыЮ доступные только для таблиц, содержащихся в контейнере базы данных, будут потеряны, даже если таблица будет перемещена в мусорную корзину.

Expand imageПримечания

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

Если вы удаляете таблицу с помощью команды DELETE FILE или операционной системвы, то это событие не произойдет.

Возврат .F. из этой процедуры предотвратит удаление таблицы.

Expand imageПример

  CopyCode imageСкопировать код
* Отображает имя события, откуда оно вызвано и какие 
* значения параметров были переданы.
PROCEDURE dbc_BeforeDropTable ;
         (cTableName, ;
          lRecycle)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
? '     cTableName = ' + TRANSFORM(cTableName) + ' - ' ;
                   + TYPE('cTableName ')
? '     lRecycle   = ' + TRANSFORM(lRecycle)   + ' - ' ;
                   + TYPE('lRecycle')+' /end/ '
ENDPROC

Expand imageСмотрите также