Значение по умолчанию
Функция DEFAULT
возвращает типизированное значение по умолчанию заданного столбца.
Общие правила
-
Выдается текущее значение по умолчанию заданного столбца. Тип возвращаемого значения – константа.
-
Запрещено использовать для столбцов c типами данных BLOB и EXTFILE.
-
Если значение по умолчанию не задано или недопустимо для данного столбца, выдается NULL.
-
Для столбцов с атрибутом
GENERATED BY DEFAULT AS
илиDEFAULT < значимое выражение >
возвращается NULL-значение. Это связано с тем, что< значимое выражение >
в данном случае вычисляется непосредственно в момент добавления новой записи (т.е. заранее неизвестно). Получить текстовый вид< значимого выражения >
по умолчанию можно с помощью функцииLINTER_DICT_INFO
, например:alter table q1 alter column i set default (j + 9); select LINTER_DICT_INFO(2,$$$S11,2) from LINTER_SYSTEM_USER.$$$SYSRL where $$$S13='Q1'; |("J"+9) |
-
Если выражение, от которого берется функция
DEFAULT
, является столбцом представления, источником для которого служит не столбец базовой таблицы, а выражение, то результатом будет NULL-значение. -
Типом возвращаемого значения является тип аргумента функции (см. функцию
DEFTEXT
, которая также возвращает значение по умолчанию, но в символьном представлении).select default(make), default(personid) from auto; |NULL |NULL | create or replace table tab1(i int default 100, b varbyte(10) default hex('616161')); select default(i), default(b) from tab1; |100 |FFFFFF | select default(i), cast default(b) as nchar(10) from tab1; |100 |яяя |