Изглежда, че това не е възможно.
Едно заобиколно решение би било да се използва тригер:
CREATE OR REPLACE TRIGGER test_trigger
BEFORE INSERT OR UPDATE
ON test_table
FOR EACH ROW
WHEN ( new.test_attr IS NULL )
BEGIN
:new.test_attr := NEW test_t();
END test_trigger;
/
Между другото, той не игнорира напълно конструкторите, които не са по подразбиране, като заменя конструктора по подразбиране
CONSTRUCTOR FUNCTION test_t(in_val NUMBER)
RETURN SELF AS RESULT
води до изключение при опит за дефиниране на таблицата с DEFAULT NEW test_t(1)
: