GdcLBRBTreeMetadata.GetLBRBTreeDependentNames

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

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