2012-12-20 91 views
5

我不知道如何从表中选择具有类型列的语句? 此列的类型定义为:Oracle SQL:从嵌套表中选择

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

UPD1 表被定义为

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

如果我select * from T_TABLE选择此专栏中,我会得到这个没有翔实的结果:

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

我只想解开这种类型。

+0

以及如何定义你的表? –

+0

显示由SQL客户端处理。 SQL * Plus会将其显示为例如:'MYCOL(MYTYPE(1,'somevalue'))' –

回答

10

试试这样说:

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

Here is a sqlfiddle demo

+0

它的工作原理!谢谢! –