我有类型:
CREATE OR REPLACE TYPE something AS OBJECT(
name VARCHAR2(100),
nestedObjects objects
);
其中对象类型是引用表:
CREATE TYPE objects IS TABLE OF REF object;
对象是:
CREATE OR REPLACE TYPE object AS OBJECT (
number NUMBER
);
然后我创建表:
CREATE TABLE tab_something OF something
NESTED TABLE nestedObjects STORE AS tab_nestedObjects;
我想从某个表中包含的对象中选择数字,我尝试:
SELECT ts.name, cursor(
select deref(object).number
from TABLE(ts.nestedObjects) object
) FROM tab_something ts;
或者:
SELECT DEREF(object).number
FROM tab_something ts, TABLE(ts.nestedObjects) object;
但它不起作用。Oracle 说“对象”标识符无效。
当 nestedObjects 由对象组成时,它工作得很好,因为不需要处理引用。但是当它指向对象引用时它不起作用。我能应付吗?
感谢帮助!