GdcLBRBTreeMetadata.GetLBRBTreeDependentNames

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Параметры)
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
{{TypeDef_Template|unit=gdcLBRBTreeMetadata|type=function|src=function GetLBRBTreeDependentNames(const ARelName: String; const ATr: TIBTRansaction;
+
{{FuncDef|unit=gdcLBRBTreeMetadata|type=function|src=function GetLBRBTreeDependentNames(const ARelName: String; const ATr: TIBTRansaction;
 
   out Names: TLBRBTreeMetaNames): Integer;}}
 
   out Names: TLBRBTreeMetaNames): Integer;}}
 
<onlyinclude>Функция возвращает имена объектов метаданных интервального дерева для заданной таблицы и количество зависимых от нее процедур и представлений.</onlyinclude>
 
<onlyinclude>Функция возвращает имена объектов метаданных интервального дерева для заданной таблицы и количество зависимых от нее процедур и представлений.</onlyinclude>
Строка 19: Строка 19:
 
   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) > 3 then  // 3 SP  
 
     raise EgdcIBError.Create('Нельзя удалить таблицу т.к. она используется в процедурах или представлениях');
 
     raise EgdcIBError.Create('Нельзя удалить таблицу т.к. она используется в процедурах или представлениях');
 
...
 
...
 
</syntaxhighlight>
 
</syntaxhighlight>

Текущая версия на 19:40, 18 октября 2015

 Модуль: 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('Нельзя удалить таблицу т.к. она используется в процедурах или представлениях');
...
Персональные инструменты
Пространства имён

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