Информация об ограничениях целостности
Функция
Предоставление выражения для генерируемого столбца или ограничения целостности CHECK для других типов столбцов.
Спецификация
::=
::=
::=
::=
Общие правила
-
Параметр
< идентификатор таблицы >
задает системный идентификатор таблицы, об ограничениях целостности которой запрашивается информация. Системные идентификаторы таблиц хранятся в системной таблице$$$SYSRL
, столбец$$$S11
. -
Параметр
< тип информации >
задает тип запрашиваемой информации:-
1 – ограничение целостности CHECK;
-
2 – выражение для генерируемого столбца.
-
-
Параметр
< номер столбца >
определяет порядковый номер столбца заданной таблицы (начиная с 1). -
Если
< номер столбца >
не задан или равен 0, возвращаются ограничения целостности для всей таблицы. -
Аргументы могут быть заданы
< SQL-параметром >
, который должен содержать спецификацию типа данных параметра.select trim(linter_dict_info (? (int), ? (int), ? (int))); 1 537 0 |CHECK("I" > "J") |
Возвращаемое значение
-
Символьная строка переменной длины VARCHAR(2048). Формат строки зависит от значения входных параметров:
-
< номер режима >=1, < номер столбца > больше 0:
"CHECK(< выражение1 >)< пробел > CHECK(< выражение2 >)..."
-
< номер режима >=1, < номер столбца > равен 0:
"CHECK(< выражение1 >),CHECK(< выражение2 >) ..."
-
< номер режима >=2, < номер столбца > больше 0:
"< выражение для генерируемого столбца >"
-
-
Пустая строка – если для столбца не задано условие CHECK, или он не является генерируемым столбцом, или он создан с атрибутом
GENERATED AS IDENTITY
.
Примеры
-
Получить CHECK-выражение для всей таблицы
CREATE or replace TABLE TST_CHECK (I INT, J INT, CHECK (I >J)); select trim(linter_dict_info (1,$$$s11, 0)) from $$$sysrl where $$$s13='TST_CHECK'; |CHECK("I" > "J") |
-
Получить CHECK-выражение для заданного столбца
CREATE or replace TABLE TST_CHECK (I INT CHECK (I >0) CHECK (I< 10)); select trim(linter_dict_info (1,$$$s11, 1)) from $$$sysrl where $$$s13='TST_CHECK'; |CHECK("I" > 0) CHECK("I" < 10) |