看起来这是不可能的。
一种解决方法是使用触发器:
CREATE OR REPLACE TRIGGER test_trigger BEFORE INSERT OR UPDATEON test_table FOR EACH ROWWHEN ( 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):
ORA-06553:PLS-307:太多的“ TEST_T”声明与该调用匹配
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)