Документация iSZN

pkSchema.sql

Сообщения об ошибках

Error_NoTable

PROCEDURE Error_NoTable(sTableName VARCHAR2);

Описание

Вызывает exception «Таблица с указанным наименованием не найдена».

Error_NoTable

PROCEDURE Error_NoTable(iTableID PLS_INTEGER);

Описание

Вызывает exception «Таблица с указанным ID не найдена».

Error_NoIndex

PROCEDURE Error_NoIndex(sIndexName VARCHAR2);

Описание

Вызывает exception «Индекс не найден».

Error_NoIndexPartition

PROCEDURE Error_NoIndexPartition(sIndexName VARCHAR2, sPartitionName VARCHAR2);

Описание

Вызывает exception «Секция индекса не найдена».

Error_NoIndexSubpartition

PROCEDURE Error_NoIndexSubpartition(sIndexName VARCHAR2, sSubpartitionName VARCHAR2);

Описание

Вызывает exception «Подсекция индекса не найдена».

Error_NoConstraint

PROCEDURE Error_NoConstraint(sConstraintName VARCHAR2);

Описание

Вызывает exception «Ограничение целостности не найдено».

Error_UnsupportedIndex

PROCEDURE Error_UnsupportedIndex(sIndexName VARCHAR2, sCustomMessage VARCHAR2 := NULL);

Описание

Вызывает exception «Индекс [не поддерживается]».
Параметры:

  • sIndexName - наименование индекса;
  • sCustomMessage - дополнительное сообщение, добавляемое после наименования индекса; если null, то добавляется «в данной операции не поддерживается.».

Error_UnsupportedConstraint

PROCEDURE Error_UnsupportedConstraint(sConstraintName VARCHAR2, sCustomMessage VARCHAR2 := NULL);

Описание

Вызывает exception «Ограничение целостности [не поддерживается]».
Параметры:

  • sConstraintName - наименование ограничения целостности;
  • sCustomMessage - дополнительное сообщение, добавляемое после наименования ограничения целостности; если null, то добавляется «в данной операции не поддерживается.».

Error_RecreatingTable

PROCEDURE Error_RecreatingTable(sTableName VARCHAR2, sMsg VARCHAR2);

Описание

Вызывает exception «Ошибка при пересоздании таблицы».

Error_RebuildIndexes

PROCEDURE Error_RebuildIndexes(iErrorCount PLS_INTEGER, sTableName VARCHAR2 := NULL, sFailedIndexes CLOB := NULL);

Описание

Вызывает exception «При перестройке индексов произошло N сбоев».

Error_RebuildIdxPartitions

PROCEDURE Error_RebuildIdxPartitions(iErrorCount PLS_INTEGER, sIndexName VARCHAR2, sFailedParts CLOB := NULL);

Описание

Вызывает exception «При перестройке секций индекса произошло N сбоев».

Error_RebuildIdxSubpartitions

PROCEDURE Error_RebuildIdxSubpartitions(iErrorCount PLS_INTEGER, sIndexName VARCHAR2, sPartitionName VARCHAR2 := NULL, sFailedSubparts CLOB := NULL);

Описание

Вызывает exception «При перестройке подсекций индекса произошло N сбоев».

Error_EnableTriggers

PROCEDURE Error_EnableTriggers(iEnable PLS_INTEGER, iErrorCount PLS_INTEGER);

Описание

Вызывает exception «При в[ы]ключении триггеров произошло N сбоев».

Error_DisabledConstraintsFound

PROCEDURE Error_DisabledConstraintsFound(iCount PLS_INTEGER);

Описание

Вызывает exception «Обнаружены отключённые ограничения целостности».

Error_NoMathingIndex

PROCEDURE Error_NoMathingIndex(sConstraintName VARCHAR2);

Описание

Вызывает exception «Индекс с соответствующим набором столбцов не найден».

Таблицы и их столбцы

CheckTableExists

PROCEDURE CheckTableExists(sTableName VARCHAR2);

Описание

Проверяют существование заданной таблицы в справочнике таблиц iSZN. При отсутствии таблицы возникает exception.

CheckTableExists

PROCEDURE CheckTableExists(iTableID PLS_INTEGER);

GetTableID

FUNCTION GetTableID(sTableName VARCHAR2, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

Возвращает идентификатор таблицы в справочнике таблиц iSZN по её наименованию. При отсутствии таблицы с таким наименованием поведение определяется параметром iStrict.

GetTableName

FUNCTION GetTableName(iTableID PLS_INTEGER, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Возвращает имя таблицы по её идентификатору в справочнике таблиц iSZN. При отсутствии таблицы с таким ID поведение определяется параметром iStrict.

GetTableDataKindID

FUNCTION GetTableDataKindID(sTableName VARCHAR2, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

Возвращают ID вида данных таблицы из справочника таблиц iSZN. При отсутствии таблицы с таким наименованием поведение определяется параметром iStrict.

GetTableDataKindID

FUNCTION GetTableDataKindID(iTableID PLS_INTEGER, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;

GetTableColumns

FUNCTION GetTableColumns(iTableID PLS_INTEGER, iRegional PLS_INTEGER := NULL) RETURN uszn.pkGen.TStrings30;

Описание

Возвращает список столбцов указанной таблицы по справочнику таблиц iSZN. Столбцы сортируются по наименованию.
Параметры:

  • iTableID - ID таблицы;
  • iRegional - какие столбцы перечислять: 0 - список только нерегиональных столбцов; 1 - список только региональных; null - список всех столбцов;.

GetTableColumnList

FUNCTION GetTableColumnList(iTableID PLS_INTEGER, iRegional PLS_INTEGER := NULL, sDelimiter VARCHAR2 := ',') RETURN VARCHAR2;

Описание

Возвращает список столбцов указанной таблицы по справочнику таблиц iSZN. При отсутствии таблицы или
соответствующих условию столбцов возвращает null. Столбцы сортируются по наименованию.
Параметры:

  • iTableID - ID таблицы;
  • iRegional - какие столбцы перечислять: 0 - список только нерегиональных столбцов; 1 - список только региональных; null - список всех столбцов;
  • sDelimiter - символ-разделитель, которым будут разделяться наименования столбцов.

GetTableObjectColumns

FUNCTION GetTableObjectColumns(sTableName VARCHAR2, iSortMode PLS_INTEGER := 0, iStrict PLS_INTEGER := 0) RETURN uszn.pkGen.TStrings30;

Описание

Возвращает список столбцов объекта-таблицы (представления).
Параметры:

  • sTableName - наименование объекта;
  • iSortMode - порядок сортировки: 0 - по позиции; 1 - по наименованию;
  • iStrict - определяет поведение при отсутствии таблицы (представления).

GetTableObjectColumnList

FUNCTION GetTableObjectColumnList(sTableName VARCHAR2, sDelimiter VARCHAR2 := ',', iSortMode PLS_INTEGER := 0, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Возвращает список столбцов объекта-таблицы (представления).
Параметры:

  • sTableName - наименование объекта;
  • sDelimiter - символ, которым разделяются наименования столбцов;
  • iSortMode - порядок сортировки: 0 - по позиции; 1 - по наименованию;
  • iStrict - определяет поведение при отсутствии таблицы (представления).

GetTableStorageParams

FUNCTION GetTableStorageParams(sTableName VARCHAR2) RETURN TTableStorageParams;

Описание

Возвращает параметры физического хранения таблицы в схеме USZN.

GetLOBFieldStorageParams

FUNCTION GetLOBFieldStorageParams(sTableName VARCHAR2) RETURN TLOBFieldStorageParamList;

Описание

Возвращает параметры хранения LOB-полей таблицы в схеме USZN.

GetLOBStorageClause

FUNCTION GetLOBStorageClause(LOBStorageParams IN TLOBFieldStorageParamList) RETURN VARCHAR2;

Описание

Возвращает выражение для задания параметров хранения LOB-полей.

RecreateTable

PROCEDURE RecreateTable(sTableName VARCHAR2, sPartitioningClause VARCHAR2, iCache PLS_INTEGER);

Описание

Пересоздаёт указанную таблицу, включая все индексы, триггеры, ограничения целостности и комментарии.
Параметры:

  • sTableName - наименование пересоздаваемой таблицы;
  • sPartitioningClause - выражение секционирования; null, если секционирование не будет использоваться;
  • iCache - параметры кеширования (0-NOCACHE, 1-CACHE).

EnableMonitoring

PROCEDURE EnableMonitoring(iEnable PLS_INTEGER, sTableName VARCHAR2 := NULL, iIgnoreTemp$Tables PLS_INTEGER := 1);

Описание

Включает/выключает мониторинг (отслеживание таблиц с устаревшей статистикой).
Параметры:

  • iEnable - 0-отключить, 1-включить;
  • sTableName - наименование таблицы (null - для всех таблиц);
  • iIgnoreTemp$Tables - не обрабатывать таблицы, наименование которых начинается с префикса TEMP$ (0/1).

Индексы

CheckIndexExists

PROCEDURE CheckIndexExists(sIndexName VARCHAR2);

Описание

Проверяет, что индекс существует, в противном случае вызывает соответствующий exception.

GetIndexColumns

FUNCTION GetIndexColumns(sIndexName VARCHAR2, iSortMode PLS_INTEGER := 0, iStrict PLS_INTEGER := 0) RETURN uszn.pkGen.TStrings30;

Описание

Возвращает список столбцов индекса.
Параметры:

  • sIndexName - наименование индекса;
  • iSortMode - порядок сортировки: 0 - по позиции; 1 - по наименованию;
  • iStrict - определяет поведение при отсутствии индекса.

GetIndexColsInfo

PROCEDURE GetIndexColsInfo(sIndexName VARCHAR2, ssColNames OUT uszn.pkGen.TStrings30, iiDescending OUT uszn.pkGen.TIntegers, iStrict PLS_INTEGER := 0);

Описание

Возвращает информацию о столбцах индекса.
Параметры:

  • sIndexName - наименование индекса;
  • ssColNames - наименования столбцов;
  • iiDescending - направление сортировки по убыванию (0/1);
  • iStrict - определяет поведение при отсутствии индекса.

Сортировка производится только по позиции столбца.

GetIndexColumnList

FUNCTION GetIndexColumnList(sIndexName VARCHAR2, sDelimiter VARCHAR2 := ',', iSortMode PLS_INTEGER := 0, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Возвращает список столбцов индекса.
Параметры:

  • sIndexName - наименование индекса;
  • sDelimiter - символ, которым разделяются наименования столбцов;
  • iSortMode - порядок сортировки: 0 - по позиции; 1 - по наименованию;
  • iStrict - определяет поведение при отсутствии индекса.

GetIndexColumnListEx

FUNCTION GetIndexColumnListEx(sIndexName VARCHAR2, sDelimiter VARCHAR2 := ',', iStrict PLS_INTEGER := 0) RETURN CLOB;

Описание

То же, но вместо наименований столбцов для индексов по функциям выводятся соответствующие выражения. Сортировка производится только по позиции столбца.

IndexCanBeLocal

FUNCTION IndexCanBeLocal(sIndexName VARCHAR2, iIgnoreTablePartitioning PLS_INTEGER, CustomPartitioningKeyColumns IN uszn.pkGen.TStrings30, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Если индекс может быть локальным, возвращает 1, в противном случае - 0.
Чтобы индекс мог быть локальным, требуется, чтобы таблица была секционированной, а для
уникальных индексов также требуется, чтобы все столбцы ключа секционирования входили в список столбцов индекса.
Параметры:

  • sIndexName - наименование индекса;
  • iIgnoreTablePartitioning - игнорировать ли секционированность таблицы (0-нет, 1-да); если секционированность таблицы игнорируется, то таблица считается секционированной, если CustomPartitioningKeyColumns не пустой;
  • CustomPartitioningKeyColumns - список столбцов ключей секционирования; если не пустой, то используется вместо фактического; при iIgnoreTablePartitioning=1 это единственный способ указать столбцы ключей секционирования;
  • iStrict - определяет поведение при отсутствии индекса.

GetIndexCreationInfo

FUNCTION GetIndexCreationInfo(sIndexName VARCHAR2) RETURN TIndexCreationInfo;

Описание

Возвращает информацию об индексе, необходимую для его создания.

DropIndex

PROCEDURE DropIndex(sIndexName VARCHAR2, iDisableConstraints PLS_INTEGER);

Описание

Удаляет индекс.
Параметры:

  • sIndexName - наименование удаляемого индекса;
  • iDisableConstraints - запрещать ли ограничения целостности, использующие индекс (0-нет, 1-да).

Если индекс не существует, возникает exception.
Если индекс используется для поддержания уникального ограничения целостности, то при iDisableConstraints=1
ограничение целостности запрещается; при этом если оно используется во внешнем ключе, внешний ключ также
запрещается. Если же iDisableConstraints=0, то в данной ситуации возникнет exception.

GetIndexCreationSQL

FUNCTION GetIndexCreationSQL(Info IN TIndexCreationInfo, iUnusable PLS_INTEGER, iComputeStatistics PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает SQL-сценарий для создания индекса.
Параметры:

  • Info - информация об индексе;
  • iUnusable - создавать ли индекс в состоянии UNUSABLE (0-нет, 1-да);
  • iComputeStatistics - выполнять ли пересчёт статистики в процессе создания индекса (0-нет, 1-да).

GetIndexRecreationSQL

FUNCTION GetIndexRecreationSQL(sIndexName VARCHAR2, iUnusable PLS_INTEGER, iComputeStatistics PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает SQL-сценарий для пересоздания индекса.
Параметры:

  • sIndexName - наименование индекса;
  • iUnusable - создавать ли индекс в состоянии UNUSABLE (0-нет, 1-да);
  • iComputeStatistics - выполнять ли пересчёт статистики в процессе создания индекса (0-нет, 1-да).

CreateIndex

PROCEDURE CreateIndex(Info IN TIndexCreationInfo, iUnusable PLS_INTEGER, iComputeStatistics PLS_INTEGER);

Описание

Создаёт индекс.
Параметры:

  • Info - информация об индексе;
  • iUnusable - создавать ли индекс в состоянии UNUSABLE (0-нет, 1-да);
  • iComputeStatistics - выполнять ли пересчёт статистики в процессе создания индекса (0-нет, 1-да).

CreateConstraint

PROCEDURE CreateConstraint(sTableName VARCHAR2, sConstraintText VARCHAR2, iDisabled PLS_INTEGER, sConstraintName VARCHAR2 := NULL, sUsingIndexName VARCHAR2 := NULL);

Описание

Создаёт ограничение целостности.
Параметры:

  • sTableName - наименование таблицы;
  • sConstraintText - текст ограничения целостности;
  • iDisabled - создавать ли ограничение целостности в DISABLED-состоянии (0-нет, 1-да);
  • sConstraintName - наименование ограничения целостности (null - по умолчанию);
  • sUsingIndexName - наименование индекса, использующегося при включении первичного ключа или уникального ограничения целостности; null - по умолчанию.

GetIndexList

FUNCTION GetIndexList(
    sTableName VARCHAR2 := NULL, iIgnoreTemp$Tables PLS_INTEGER := 1, iTemporaryTables PLS_INTEGER := 0,
    iInvalidOnly PLS_INTEGER := 0,
    iLoadNormal PLS_INTEGER := 1, iLoadBitmap PLS_INTEGER := 1,
    iLoadFunctionBasedNormal PLS_INTEGER := 1, iLoadFunctionBasedBitmap PLS_INTEGER := 1) RETURN uszn.TStringList30;

Описание

Возвращает список индексов по таблице sTableName.
Параметры:

  • sTableName - наименование таблицы; если null, то возвращает полный список таких индексов в схеме USZN;
  • iIgnoreTemp$Tables - не загружать индексы по таблицам, наименование которых начинается с префикса TEMP$ (0/1); данный параметр игнорируется, если указана конкретная таблица;
  • iTemporaryTables - режим загрузки индексов по временным таблицам: 0 - только по обычным таблицам; 1 - только по временным таблицам; 2 - по всем таблицам; данный параметр игнорируется, если указана конкретная таблица;
  • iInvalidOnly - загружать только индексы, находящиеся в невалидном состоянии (0/1);
  • iLoadNormal - загружать обычные (B*Tree) индексы (0/1);
  • iLoadBitmap - загружать растровые (Bitmap) индексы (0/1);
  • iLoadFunctionBasedNormal - загружать B*Tree-индексы, основанные на функциях (0/1);
  • iLoadFunctionBasedBitmap - загружать растровые индексы, основанные на функциях (0/1).

GetInvalidIndexCount

FUNCTION GetInvalidIndexCount(sTableName VARCHAR2 := NULL, iIgnoreTemp$Tables PLS_INTEGER := 1) RETURN PLS_INTEGER;

Описание

Возвращает количество индексов по таблице sTableName, находящихся в нерабочем состоянии (UNUSABLE или DISABLED).
Параметры:

  • sTableName - наименование таблицы; если null, то подсчитывается общее количество таких индексов в схеме USZN;
  • iIgnoreTemp$Tables - не учитывать индексы по таблицам, наименование которых начинается с префикса TEMP$ (0/1).

RebuildIndex

PROCEDURE RebuildIndex(sIndexName VARCHAR2, iIfInvalidOnly PLS_INTEGER, iComputeStatistics PLS_INTEGER);

Описание

Перестраивает индекс. Если индекс секционированный, перестройка выполняется посекционно.
Параметры:

  • sIndexName - наименование перестраиваемого индекса;
  • iIfInvalidOnly - перестраивать индекс только в том случае, если он находится в невалидном состоянии (0-нет, 1-да);
  • iComputeStatistics - пересчитывать статистику при перестройке (0-нет, 1-да).

RebuildIndexPartition

PROCEDURE RebuildIndexPartition(sIndexName VARCHAR2, sPartitionName VARCHAR2, iIfInvalidOnly PLS_INTEGER, iComputeStatistics PLS_INTEGER);

Описание

Перестраивает секцию индекса. Если секция состоит из подсекций, перестройка осуществляется по подсекциям.
Параметры:

  • sIndexName - наименование перестраиваемого индекса;
  • sPartitionName - наименование перестраиваемой секции;
  • iIfInvalidOnly - перестраивать секцию только в том случае, если она находится в невалидном состоянии (0-нет, 1-да);
  • iComputeStatistics - пересчитывать статистику при перестройке (0-нет, 1-да).

RebuildIndexSubpartition

PROCEDURE RebuildIndexSubpartition(sIndexName VARCHAR2, sSubpartitionName VARCHAR2, iIfInvalidOnly PLS_INTEGER, iComputeStatistics PLS_INTEGER);

Описание

Перестраивает подсекцию индекса.
Параметры:

  • sIndexName - наименование перестраиваемого индекса;
  • sSubpartitionName - наименование перестраиваемой подсекции;
  • iIfInvalidOnly - перестраивать секцию только в том случае, если она находится в невалидном состоянии (0-нет, 1-да);
  • iComputeStatistics - пересчитывать статистику при перестройке (0-нет, 1-да).

RebuildIndexes

PROCEDURE RebuildIndexes(iInvalidOnly PLS_INTEGER, sTableName VARCHAR2 := NULL, iComputeStatistics PLS_INTEGER := 1, iIgnoreTemp$Tables PLS_INTEGER := 1);

Описание

Перестраивает индексы.
Параметры:

  • iInvalidOnly - перестраивать только индексы, находящиеся в невалидном состоянии (0-нет, 1-да);
  • sTableName - наименование таблицы, индексы по которой перестраивать (null - по всем таблицам схемы USZN);
  • iComputeStatistics - выполнять ли пересчёт статистики при перестройке (0-нет, 1-да);
  • iIgnoreTemp$Tables - не обрабатывать индексы по таблицам, наименование которых начинается с префикса TEMP$ (0/1).

GetIndexWithConsMatchingCols

FUNCTION GetIndexWithConsMatchingCols(sConstraintName VARCHAR2, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование индекса с таким же набором столбцов, как у указанного ограничения целостности. При этом
столбцы индекса могут идти в другом порядке.
Параметры:

  • sConstraintName - наименование ограничения целостности в схеме USZN;
  • iStrict - определяет поведение при любых ошибках.

GetBestIndexForConstraint

FUNCTION GetBestIndexForConstraint(sConstraintName VARCHAR2, iFullIndexing PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает имя индекса, который наилучшим образом индексирует указанный констрейнт.
Если ограничение целостности не существует, вызывает exception.
Если подходящего индекса нет, возвращает null.
Параметры:

  • sConstraintName - наименование ограничения целостности;
  • iFullIndexing - учитывать ли только индексы, полностью индексирующие ограничение целостности (0-нет, 1-да).

Ограничения целостности

CheckConstraintExists

PROCEDURE CheckConstraintExists(sConstraintName VARCHAR2);

Описание

Проверяет, что ограничение целостности существует, в противном случае вызывает соответствующий exception.

IsNotNullCheck

FUNCTION IsNotNullCheck(sCheckText VARCHAR2) RETURN PLS_INTEGER deterministic;

Описание

Возвращает 1, если указанное выражение предположительно является проверкой на not null, иначе 0.

GetConstraintColumns

FUNCTION GetConstraintColumns(sConstraintName VARCHAR2, iSortMode PLS_INTEGER := 0, iStrict PLS_INTEGER := 0) RETURN uszn.pkGen.TStrings30;

Описание

Возвращает список столбцов ограничения целостности.
Параметры:

  • sConstraintName - наименование ограничения целостности;
  • iSortMode - порядок сортировки столбцов: 0 - по позиции; 1 - по наименованию;
  • iStrict - определяет поведение при отсутствии ограничения целостности.

GetConstraintColumnList

FUNCTION GetConstraintColumnList(sConstraintName VARCHAR2, sDelimiter VARCHAR2 := ',', iSortMode PLS_INTEGER := 0, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Возвращает список столбцов ограничения целостности.
Параметры:

  • sConstraintName - наименование ограничения целостности;
  • sDelimiter - символ, которым разделяются наименования столбцов;
  • iSortMode - порядок сортировки столбцов: 0 - по позиции; 1 - по наименованию;
  • iStrict - определяет поведение при отсутствии ограничения целостности.

GetConstraintText

FUNCTION GetConstraintText(sConstraintName VARCHAR2, iIgnoreNotNullConstraints PLS_INTEGER := 0, iStrict PLS_INTEGER := 1) RETURN CLOB;

Описание

Возвращает текст ограничения целостности.
Параметры:

  • sConstraintName - наименование ограничения целостности;
  • iIgnoreNotNullConstraints - определяет поведение для ограничений целостности «IS NOT NULL»: 0 - возвращает текст как для обычных check-constraints; 1 - возвращает null;
  • iStrict - определяет поведение при отсутствии ограничения целостности.

ConstraintCanHaveLocalIndex

FUNCTION ConstraintCanHaveLocalIndex(sConstraintName VARCHAR2, iIgnoreTablePartitioning PLS_INTEGER, CustomPartitioningKeyColumns IN uszn.pkGen.TStrings30, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Если ограничение целостности может поддерживаться локальным индексом, возвращает 1, в противном случае - 0.
Чтобы ограничение целостности могло поддерживаться локальным индексом требуется, чтобы ограничение целостности
было уникальным или первичным ключом, таблица была секционированной, и все столбцы ключей секционирования входили
в список столбцов ограничения целостности.
Параметры:

  • sConstraintName - наименование ограничения целостности;
  • iIgnoreTablePartitioning - игнорировать ли секционированность таблицы (0-нет, 1-да); если секционированность таблицы игнорируется, то таблица считается секционированной, если CustomPartitioningKeyColumns не пустой;
  • CustomPartitioningKeyColumns - список столбцов ключей секционирования; если не пустой, то используется вместо фактического; при iIgnoreTablePartitioning=1 это единственный способ указать столбцы ключей секционирования;
  • iStrict - определяет поведение при отсутствии ограничения целостности.

DisableConstraint

PROCEDURE DisableConstraint(sConstraintName VARCHAR2, iCascade PLS_INTEGER, iKeepIndex PLS_INTEGER := 0);

Описание

Отключает ограничение целостности.
Параметры:

  • sConstraintName - наименование отключаемого ограничения целостности;
  • iCascade - отключать ли ограничения целостности каскадно (0-нет, 1-да);
  • iKeepIndex - сохранять ли индексы, используемые для поддержания ограничения целостности (0-нет, 1-да).

При отсутствии ограничения целостности возникает exception.

EnableConstraint

PROCEDURE EnableConstraint(sConstraintName VARCHAR2, sUsingIndexName VARCHAR2 := NULL);

Описание

Включает ограничение целостности.
Параметры:

  • sConstraintName - наименование включаемого ограничения целостности;
  • sUsingIndexName - наименование индекса, использующегося при включении первичного ключа или уникального ограничения целостности; null - по умолчанию.

При отсутствии ограничения целостности возникает exception.

CheckNoDisabledConstraints

PROCEDURE CheckNoDisabledConstraints;

Описание

Вызывает exception, если в схеме имеются отключённые ограничения целостности.

GetPossiblePrimaryKeys

FUNCTION GetPossiblePrimaryKeys(sTableName VARCHAR2, iReturnConsType PLS_INTEGER, iReturnConsName PLS_INTEGER, iReturnConsColumns PLS_INTEGER) RETURN uszn.TStringList4000;

Описание

Возвращает информацию о возможных «первичных ключах» таблицы. При наличии первичного ключа это будет он,
при отсутствии первичного ключа - все уникальные констрейнты.
Параметры:

  • sTableName - имя таблицы, для которой выводится информация;
  • iReturnConsType - выводить ли тип констрейнта (P, U) (1 - да, 0 - нет);
  • iReturnConsName - выводить ли наименование констрейнта (1 - да, 0 - нет);
  • iReturnConsColumns - выводить ли список столбцов констрейнта в (1 - да, 0 - нет).

Тип, наименование и столбцы констрейнта разделяются запятыми. Столбцы выводятся в порядке их позиции в
соответствующем ограничении целостности.

Секции и подсекции

GetPartitioningKeyColumns

FUNCTION GetPartitioningKeyColumns(iObjectType PLS_INTEGER, sObjectName VARCHAR2) RETURN uszn.pkGen.TStrings30;

Описание

Возвращает список столбцов ключей секционирования, отсортированный по наименованию столбца.
Параметры:

  • iObjectType - вид объекта: 1 - таблица; 2 - индекс;
  • sObjectName - наименование объекта.

GetPartitioningKeyColumnList

FUNCTION GetPartitioningKeyColumnList(iObjectType PLS_INTEGER, sObjectName VARCHAR2, sDelimiter VARCHAR2 := ',') RETURN VARCHAR2;

Описание

Возвращает список столбцов ключей секционирования, отсортированный по наименованию столбца.
Параметры:

  • iObjectType - вид объекта: 1 - таблица; 2 - индекс;
  • sObjectName - наименование объекта;
  • sDelimiter - символ, которым разделяются наименования столбцов.

Триггеры

EnableTriggers

PROCEDURE EnableTriggers(iEnable PLS_INTEGER, iTableBased PLS_INTEGER := 1, sTableName VARCHAR2 := NULL);

Описание

Включает/выключает триггеры.
Параметры:

  • iEnable: 0 - отключить, 1 - включить
  • iTableBased: 1 - только по таблицам, 0 - только не по таблицам, null - все
  • sTableName: наименование таблицы; учитывается только при iTableBased=1. При sTableName=null обрабатываются

триггеры по всем таблицам.

EnableTriggerList

PROCEDURE EnableTriggerList(iEnable PLS_INTEGER, ssTriggers uszn.TStringList30);

Описание

Включает/выключает триггеры из списка.

GetTriggersState

FUNCTION GetTriggersState(iTableBased PLS_INTEGER := 1, sTableName VARCHAR2 := NULL) RETURN PLS_INTEGER;

Описание

Проверяет текущее состояние триггеров БД, удовлетворяющих переданным условиям:

  • iTableBased - вид триггеров: 1 - только по таблицам; 0 - только не по таблицам; null - все;
  • sTableName - наименование таблицы; учитывается только при iTableBased=1. При sTableName=null обрабатываются триггеры по всем таблицам.

Возвращаемые значения:

  • 0 - все удовлетворяющие переданным условиям триггеры выключены;
  • 1 - все эти триггеры включены;
  • 2 - включена только их часть.

Пакеты

DumpPackages

PROCEDURE DumpPackages(sDirName VARCHAR2, sFileName VARCHAR2, iSections PLS_INTEGER, iWrapped PLS_INTEGER);

Описание

Создаёт дамп всех пакетов схемы USZN в один файл.
Параметры:

  • sDirName - имя каталога, в который будет выгружаться файл;
  • sFileName - имя файла, в который будут выгружаться пакеты;
  • iSections - какие части пакета выгружать: 0 - только спецификацию пакета; 1 - только тело пакета; null - спецификацию и тело;
  • iWrapped - режим выгрузки wrapped-пакетов: 0 - только не-wrapped; 1 - только wrapped; null - все.

Актуализация таблиц

VerifyTables

FUNCTION VerifyTables RETURN PLS_INTEGER;

Описание

Проверяет соответствие списка таблиц в схеме USZN содержимому таблиц u_tables и u_table_columns и вносит найденные различия в u$_tables и u$_table_columns; возвращает количество таблиц, имеющих в результате проверки статус, отличный от 0.

ApplyTableVerification

PROCEDURE ApplyTableVerification(sTableName VARCHAR2, iApplyChanges PLS_INTEGER, iDeleteChangeInfo PLS_INTEGER);

Описание

Применяет результаты проверки VerifyTables для указанной таблицы; если sTableName null, то изменения применяются
ко всем таблицам

  • iApplyChanges - если не 0, то будут применяться изменения, «прописанные» в u$_xxx [для указанной таблицы];
  • iDeleteChangeInfo - если не 0, то будет очищаться информация в u$_xxx [для указанной таблицы].

CheckAllTablesActual

PROCEDURE CheckAllTablesActual;

Описание

Вызывает VerifyTables() и если обнаруживает неактуальные таблицы, вызывает exception.

Разное

InstallJavaClasses

PROCEDURE InstallJavaClasses;

Описание

Устанавливает в Oracle Java-классы из таблицы create$java$lob$table, предварительно удаляя все существующие классы.