반응형
Oracle 11g의 객체 유형 열에서 선택하는 방법은 무엇입니까?
안녕하세요, 다음 두 가지 Oracle 개체가 있습니다.
CREATE OR REPLACE TYPE car AS OBJECT(
name VARCHAR( 80 )
) NOT FINAL;
그리고 또 다른 목적이 있습니다.
CREATE OR REPLACE TYPE truck UNDER car (
doors NUMBER,
seats NUMBER
);
다음 표도 있습니다.
CREATE TABLE vehicles (
id NUMBER NOT NULL,
vehicle car,
PRIMARY KEY (id)
);
다음은 몇 가지 데이터입니다.
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
오류 없이 얻을 수 있는 매개 변수는 자동차 객체에서 얻은 매개 변수뿐입니다.
참고로, 저는 CentOS 6.2에서 Oracle 11g을 사용하고 있습니다.
건배, 보잔
다음과 같이 데이터베이스 엔진을 사용하여 VEIC를 TRUCK로 처리하도록 하려면 TREAT 기능을 사용해야 합니다.
SELECT ID, TREAT(vehicle AS TRUCK).DOORS FROM VEHICLES
공유하고 즐기세요.
언급URL : https://stackoverflow.com/questions/10318272/how-to-select-from-object-type-column-in-oracle-11g
반응형
'programing' 카테고리의 다른 글
Spring boot 2.1.0 스타터 구성에서 spring.main.allow-bean-definition-overriding을 true로 설정하는 방법 (0) | 2023.07.07 |
---|---|
VBA를 사용하지 않는 Excel의 MD5 해시 함수 (0) | 2023.07.07 |
VBA에서 TextFrame 또는 TextFrame2를 사용하는 경우 (0) | 2023.07.07 |
C에서 null이 아닌 종료 문자열을 strncmp로 전달하는 것이 합법입니까? (0) | 2023.07.07 |
'while' 및 'for' 루프의 범위는 무엇입니까? (0) | 2023.07.07 |