powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Непонятка с ограничением домена
4 сообщений из 4, страница 1 из 1
Непонятка с ограничением домена
    #39325803
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FB 2.5.6. Объявлен домен:
Код: sql
1.
2.
3.
CREATE DOMAIN DOM$DATE AS
DATE
CHECK ((VALUE >= '01.01.1900') AND (VALUE <= '01.01.2020'));



При выполнении скрипта:
Код: sql
1.
2.
3.
4.
5.
6.
EXECUTE BLOCK
AS
DECLARE VARIABLE DD DOM$DATE;
BEGIN
    DD = '13.10.2016';
END


происходит исключение:
Код: plaintext
1.
2.
The insert failed because a column definition includes validation constraints.
validation error for variable DD, value "13.10.2016".
At block line: 5, col: 5.

Анализ показал, что в данном случае исходная дата приводится к строке. Если '01.01.2020' поменять на '31.12.2020', то исключения нет, но проверка не работает, так как VALUE преобразуется в '2016-13-10'.
Такое поведение - приведение VALUE к типу второго операнда, а не второго операнда к типу VALUE - правильно?
...
Рейтинг: 0 / 0
Непонятка с ограничением домена
    #39325830
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,
Да
Вот только не приведение к типу второго операнда
а к приведение к строке поскольку один из операндов строка
...
Рейтинг: 0 / 0
Непонятка с ограничением домена
    #39325884
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

диалект какой? Если 3, то домен надо было вот так определять

Код: sql
1.
2.
3.
CREATE DOMAIN DOM$DATE AS
DATE
CHECK (VALUE BETWEEN date '01.01.1900' AND date '01.01.2020');
...
Рейтинг: 0 / 0
Непонятка с ограничением домена
    #39325942
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Да, примерно на такой вариант и переделал.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Непонятка с ограничением домена
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]