GdcLBRBTreeMetadata.GetLBRBTreeDependentNames
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) (→Пример использования) |
||
| Строка 17: | Строка 17: | ||
Names: TLBRBTreeMetaNames; | Names: TLBRBTreeMetaNames; | ||
begin | begin | ||
| − | if GetLBRBTreeDependentNames(FieldByName('relationname').AsString, ReadTransaction, Names) > | + | if GetLBRBTreeDependentNames(FieldByName('relationname').AsString, ReadTransaction, Names) > 5 then // 3 SP + 2 triggers |
raise EgdcIBError.Create('Нельзя удалить таблицу т.к. она используется в процедурах или представлениях'); | raise EgdcIBError.Create('Нельзя удалить таблицу т.к. она используется в процедурах или представлениях'); | ||
... | ... | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 17:03, 11 апреля 2011
| Модуль: gdcLBRBTreeMetadata.pas | Тип: function |
Delphi:
function GetLBRBTreeDependentNames(const ARelName: String; const ATr: TIBTRansaction; out Names: TLBRBTreeMetaNames): Integer;
Описание
Функция возвращает имена объектов метаданных интервального дерева для заданной таблицы и количество зависимых от нее процедур и тригеров.
Параметры
- Names
- Запись типа gdcLBRBTreeMetadata.TLBRBTreeMetaNames с именами объектов метаданных интервального дерева.
- ARelName
- Имя таблицы.
- ATr
- Открытая транзакция. Если не задана, функция вернет -1 и запись Names, заполненную пустыми строками.
Функция возвращает количество зависимых от указанной таблицы процедур и тригеров.
Пример использования
... procedure TgdcLBRBTreeTable.DropTable; var ... Names: TLBRBTreeMetaNames; begin if GetLBRBTreeDependentNames(FieldByName('relationname').AsString, ReadTransaction, Names) > 5 then // 3 SP + 2 triggers raise EgdcIBError.Create('Нельзя удалить таблицу т.к. она используется в процедурах или представлениях'); ...