У меня есть тип:
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;
or:
SELECT DEREF(object).number
FROM tab_something ts, TABLE(ts.nestedObjects) object;
но это не работает. Oracle говорит, что идентификатор объекта недействителен.
Когда nestedObject состоит из объектов, он работает хорошо, потому что нет необходимости иметь дело со ссылками. но когда он указывает на объектные ссылки, он не работает. Как я могу с этим справиться?
СПАСИБО ЗА ПОМОЩЬ!