Я знаю, что это старый вопрос, но есть другой вариант (описан здесь ):
SUBTYPE varchar2_not_null IS VARCHAR2 NOT NULL;
Вы можете определить этот тип (и number_not_null
и т. Д.) Либо в том же пакете, что и ваши хранимые процедуры, либо в их собственном пакете, если вы хотите использовать их во многих местах. Затем вы можете объявить параметры этих типов.
Если NULL
передается в качестве аргумента, вы получите очень полезное сообщение об ошибке:
cannot pass NULL to a NOT NULL constrained formal parameter