【发布时间】:2012-04-13 03:16:43
【问题描述】:
我有一个没有参数构造函数的对象类型,但是当我将它指定为该类型列的默认值时,我得到 ORA-00904: invalid identifier error。
例子:
创建或替换类型 test_t 作为对象 ( 验证号码(10), 构造函数 test_t 返回 self 作为结果 ) 创建或替换类型主体 test_t AS 构造函数 test_t 按结果返回自我 开始 值:= 1; 返回; 结尾; 结尾; 创建表 test_table ( test_attr test_t 默认新 test_t() ) 错误:ORA-00904:“INKA”。“TEST_T”。“TEST_T”:标识符无效如果我将 DEFAULT 替换为例如test_t(1),它可以工作,但是那种破坏了 OO 封装范式,我希望所有相同类型的字段都具有相同的默认“默认值”(希望你知道我的意思 :-)
我在这里遗漏了什么,或者这是正常的,不能使用这样的非默认构造函数?
【问题讨论】:
标签: sql oracle object plsql oracle11g