2012-12-20 12 views
5

Ich frage mich, wie kann ich Select-Anweisung aus der Tabelle, die eine getippte Spalte haben machen? Typ dieser Spalte ist definiert als:Oracle SQL: Wählen Sie aus der Tabelle mit verschachtelten Tabelle

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

UPD1 Tabelle ist definiert als

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

Wenn ich diese Spalte mit select * from T_TABLE wähle ich diese nicht aussagekräftiges Ergebnis erhalten:

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

Ich möchte nur diese Typen auspacken.

+0

und wie wird Ihre Tabelle definiert? –

+0

Die Anzeige wird vom SQL-Client gehandhabt. SQL * Plus zeigt dies beispielsweise an: 'MYCOL (MYTYPE (1, 'somevalue'))' –

Antwort

10

Probieren Sie es wie folgt aus:

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

Here is a sqlfiddle demo

+0

Es funktioniert! Vielen Dank! –

Verwandte Themen