Oracle SQL: select from table with nested table

2019-02-17 15:07发布

问题:

I wonder how can i make select statement from table which have a typed column ? Type of this column is defined as:

create or replace TYPE "MYCOL" as table of MYTYPE; 
create or replace TYPE "MYTYPE" as OBJECT
( myid Number, myname Varchar2);

UPD1 Table is defined as

CREATE TABLE "T_TABLE" 
   (    "ID" NUMBER NOT NULL ENABLE, "NAME" "MYCOL" )

If i select this column with select * from T_TABLE i will get this not informative result:

1, MYSCHEMA.MYCOL([MYSCHEMA.MYTYPE],[MYSCHEMA.MYTYPE])

I want just to unwrap this types.

回答1:

Try it like this:

select t."ID", tt.myid, tt.myname 
from "T_TABLE" t, table(t."NAME") tt;

Here is a sqlfiddle demo