Сначала я создаю простую функцию:
CREATE FUNCTION MY_FUNCTION(IN MY_ID BIGINT) RETURNS BOOLEAN
SPECIFIC MY_FUNCTION_WITH_BIGINT LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA RETURNS NULL ON NULL INPUT
RETURN MY_ID IN (SELECT ID
FROM TABLE1
WHERE NAME IN ('name1', 'name2'));
Затем я пытаюсь использовать ее в ограничении CHECK
:
ALTER TABLE TABLE2 ADD CONSTRAINT CONSTRAINT1 CHECK (MY_FUNCTION(C1) = TRUE)
Я получаю это:
java.lang.RuntimeException: org.hsqldb.HsqlException: invalid expression in CHECK or GENERATED clause
Не понимаю почему, есть ли способ добиться желаемого эффекта?