GdcLBRBTreeMetadata.GetLBRBTreeDependentNames

Материал из GedeminWiki
Перейти к: навигация, поиск
 Модуль: gdcLBRBTreeMetadata.pas   Тип: function 

Delphi:

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

Описание

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

Параметры

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

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

Обратите внимание, что в последней версии структуры интервального дерева используется единое для всех деревьев исключение TREE_E_INVALID_PARENT, которое является частью эталонной базы данных. Соответствующее поле структуры TLBRBTreeMetaNames будет содержать пустую строку.

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

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

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