我正在使用Oracle 12c类型。
假设我有一个名为TY
的类型。
我想执行以下查询:
select ref(TY(p1,p2,...,pn)) from dual;
它在没有ref(...)
的情况下有效。
有没有办法做到这一点?
答案 0 :(得分:0)
Oracle documentation says this about REFs:
REF包含以下三个逻辑组件:
引用对象的
- 包含所引用对象的表或视图的
OID。系统生成的OID为16个字节长。基于主键的OID的大小取决于密钥的大小。 主键列。
OID,其长度为16个字节。
行提示,长度为10个字节。
这些都是位置属性。它们在对象关系表中唯一标识对象的实例。您的查询失败,因为您尝试引用瞬态对象。
REF的价值在于它们使我们能够引用现有对象,因此我们可以导航对象层次结构,强制执行约束等。您尝试执行的操作不适合这种用法。