Oracle интерпретирует ограничения check
как вечные ограничения для данных. То есть проверочное ограничение действует не только при изменении данных, но и навсегда после этого.
По этой причине Oracle не допускает изменчивых функций в ограничениях check
. Энергозависимая функция - это функция, значения которой могут меняться со временем. Очень хорошим примером являются функции даты / времени, такие как sysdate
(это действительно функция без скобок).
Таким образом, вы не можете делать то, что хотите, с ограничением check
. Вам нужно установить это, используя insert
триггер.