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