GdcLBRBTreeMetadata.GetLBRBTreeDependentNames

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Пример использования)
Строка 3: Строка 3:
 
<onlyinclude>Функция возвращает имена объектов метаданных интервального дерева для заданной таблицы и количество зависимых от нее процедур и тригеров.</onlyinclude>
 
<onlyinclude>Функция возвращает имена объектов метаданных интервального дерева для заданной таблицы и количество зависимых от нее процедур и тригеров.</onlyinclude>
 
===Параметры===
 
===Параметры===
;Names:Запись типа [[gdcLBRBTreeMetadata.TLBRBTreeMetaNames]] с именами объектов метаданных [[Инфраструктура интервальных деревьев|интервального дерева]].
+
;Names:Запись типа [[gdcLBRBTreeMetadata.TLBRBTreeMetaNames|TLBRBTreeMetaNames]] с именами объектов метаданных [[Инфраструктура интервальных деревьев|интервального дерева]].
 
;ARelName: Имя таблицы.  
 
;ARelName: Имя таблицы.  
;ATr: Открытая транзакция. Если не задана, функция вернет -1 и запись Names, заполненную пустыми строками.
+
;ATr: Открытая транзакция.  
  
Функция возвращает количество зависимых от указанной таблицы процедур и тригеров.
+
Функция возвращает количество зависимых от указанной таблицы процедур и тригеров или -1, если транзакция ATr не задана.
  
 
===Пример использования===
 
===Пример использования===
Строка 17: Строка 17:
 
   Names: TLBRBTreeMetaNames;
 
   Names: TLBRBTreeMetaNames;
 
begin
 
begin
 +
  // Проверяем, есть ли для нашей таблицы зависимые тригеры и хранимые процедуры,
 +
  // кроме стандартных частей интервального дерева.
 
   if GetLBRBTreeDependentNames(FieldByName('relationname').AsString, ReadTransaction, Names) > 5 then  // 3 SP + 2 triggers
 
   if GetLBRBTreeDependentNames(FieldByName('relationname').AsString, ReadTransaction, Names) > 5 then  // 3 SP + 2 triggers
 
     raise EgdcIBError.Create('Нельзя удалить таблицу т.к. она используется в процедурах или представлениях');
 
     raise EgdcIBError.Create('Нельзя удалить таблицу т.к. она используется в процедурах или представлениях');
 
...
 
...
 
</syntaxhighlight>
 
</syntaxhighlight>

Версия 17:12, 11 апреля 2011

 Модуль: gdcLBRBTreeMetadata.pas   Тип: function 

Delphi:

 function GetLBRBTreeDependentNames(const ARelName: String; const ATr: TIBTRansaction;
 out Names: TLBRBTreeMetaNames): Integer;

Описание

Функция возвращает имена объектов метаданных интервального дерева для заданной таблицы и количество зависимых от нее процедур и тригеров.

Параметры

Names
Запись типа TLBRBTreeMetaNames с именами объектов метаданных интервального дерева.
ARelName
Имя таблицы.
ATr
Открытая транзакция.

Функция возвращает количество зависимых от указанной таблицы процедур и тригеров или -1, если транзакция ATr не задана.

Пример использования

...
procedure TgdcLBRBTreeTable.DropTable;
var
  ...
  Names: TLBRBTreeMetaNames;
begin
  // Проверяем, есть ли для нашей таблицы зависимые тригеры и хранимые процедуры,
  // кроме стандартных частей интервального дерева.
  if GetLBRBTreeDependentNames(FieldByName('relationname').AsString, ReadTransaction, Names) > 5 then  // 3 SP + 2 triggers
    raise EgdcIBError.Create('Нельзя удалить таблицу т.к. она используется в процедурах или представлениях');
...
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты