Информация об ограничениях целостности (LINTER_DICT_INFO)
Функция
Предоставление выражения для генерируемого столбца или ограничения целостности 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) |