2012-04-25 9 views
11

Hy दोस्तों, मैं दो ओरेकल वस्तुओं निम्नलिखित है:ओरेकल 11 जी में ऑब्जेक्ट टाइप कॉलम से कैसे चुनें?

CREATE TABLE vehicles (
id NUMBER NOT NULL, 
vehicle car, 
PRIMARY KEY (id) 
); 

यहाँ है:

CREATE OR REPLACE TYPE truck UNDER car ( 
doors NUMBER, 
seats NUMBER 
); 

वहाँ भी तालिका पीछा कर रहा है:

CREATE OR REPLACE TYPE car AS OBJECT( 
name VARCHAR(80) 
) NOT FINAL; 

और यह भी, वहाँ एक और वस्तु है कुछ डेटा:

INSERT INTO vehicles (id, vehicle) VALUES (1, truck('ford', 4, 4)); 
INSERT INTO vehicles (id, vehicle) VALUES (2, truck('toyota', 4, 5)); 

अंत में, मेरा प्रश्न है: वाहन तालिका कॉलम से केवल संख्याओं और सीटों की संख्या का चयन कैसे करें?

मैं निम्नलिखित की कोशिश की लेकिन यह काम नहीं करता:

SELECT v.vehicle.doors AS doors AS seats FROM vehicles v; 

मैं त्रुटि निम्न है:

ORA-00904: "V"."VEHICLE"."DOORS": invalid identifier 

केवल पैरामीटर है कि मैं किसी भी त्रुटि के बिना प्राप्त कर सकते हैं कार वस्तु से एक है।

FYI करें, मैं CentOS 6.2

चीयर्स, बोजन

उत्तर

28

पर ओरेकल 11g का उपयोग कर रहा व्यवहार फ़ंक्शन का उपयोग करने के लिए एक ट्रक के रूप में वाहन के इलाज के लिए, के रूप में डेटाबेस इंजन प्राप्त करने की आवश्यकता:

SELECT ID, TREAT(vehicle AS TRUCK).DOORS FROM VEHICLES 

साझा करें और आनंद लें।

+1

यह पूरी तरह से काम करता है, धन्यवाद :) – snijele

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^