GdcLBRBTreeMetadata.GetLBRBTreeDependentNames

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Параметры)
Строка 8: Строка 8:
  
 
Функция возвращает количество зависимых от указанной таблицы процедур и представлений или -1, если транзакция ATr не задана.
 
Функция возвращает количество зависимых от указанной таблицы процедур и представлений или -1, если транзакция ATr не задана.
 +
 +
Обратите внимание, что в последней версии структуры интервального дерева используется единое для всех деревьев исключение TREE_E_INVALID_PARENT, которое является частью эталонной базы данных. Соответствующее поле структуры [[gdcLBRBTreeMetadata.TLBRBTreeMetaNames|TLBRBTreeMetaNames]] будет содержать пустую строку.
  
 
===Пример использования===
 
===Пример использования===

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

 Модуль: 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) > 5 then  // 3 SP + 2 triggers
    raise EgdcIBError.Create('Нельзя удалить таблицу т.к. она используется в процедурах или представлениях');
...
Персональные инструменты
Пространства имён

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