ऐसा लगता है कि यह संभव नहीं है।
ट्रिगर का उपयोग करना एक समाधान होगा:
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)
. के साथ तालिका को परिभाषित करने का प्रयास करते समय एक अपवाद की ओर जाता है :