Hy Jungs, Ich habe folgende zwei Oracle-Objekte:
CREATE OR REPLACE TYPE car AS OBJECT(
name VARCHAR( 80 )
) NOT FINAL;
Und es gibt noch ein weiteres Objekt:
CREATE OR REPLACE TYPE truck UNDER car (
doors NUMBER,
seats NUMBER
);
Es gibt auch die folgende Tabelle:
CREATE TABLE vehicles (
id NUMBER NOT NULL,
vehicle car,
PRIMARY KEY (id)
);
Hier sind einige Daten:
INSERT INTO vehicles ( id, vehicle ) VALUES ( 1, truck( 'ford', 4, 4 ) );
INSERT INTO vehicles ( id, vehicle ) VALUES ( 2, truck( 'toyota', 4, 5 ) );
Abschließend möchte ich noch eine Frage stellen: Wie wähle ich nur die Anzahl der Türen und die Anzahl der Sitze aus der Spalte der Fahrzeugtabelle aus?
Ich habe Folgendes versucht, aber es funktioniert nicht:
SELECT v.vehicle.doors AS doors AS seats FROM vehicles v;
Ich habe folgenden Fehler:
ORA-00904: "V"."VEHICLE"."DOORS": invalid identifier
Der einzige Parameter, den ich ohne Fehler erhalten kann, ist der vom Auto-Objekt.
Zu Ihrer Information: Ich verwende Oracle 11g auf CentOS 6.2
Zum Wohl, Bojan