Quantcast
Channel: SQL.ru: Firebird, InterBase
Viewing all articles
Browse latest Browse all 1677

Непонятка с ограничением домена

$
0
0
FB 2.5.6. Объявлен домен:
CREATE DOMAIN DOM$DATE AS
DATE
CHECK ((VALUE >= '01.01.1900') AND (VALUE <= '01.01.2020'));


При выполнении скрипта:
EXECUTE BLOCK
AS
DECLARE VARIABLE DD DOM$DATE;
BEGIN
    DD = '13.10.2016';
END

происходит исключение:
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 - правильно?

Viewing all articles
Browse latest Browse all 1677

Trending Articles