2009-06-28 1 views
4

나는이oracle11g에서 해당 유형의 컬렉션을 참조하는 유형을 정의하려면 어떻게해야합니까?

create type Item as object (
    id number, 
    subitems table of ref Item 
) 

같은 것을하고 싶어하지만 난 그것을 할 때 오라클은 예외가 발생합니다. 이것이 가능합니까? 그렇다면 어떻게됩니까?

+0

예외는 무엇입니까? – akf

+0

PLS-00103 : 다음 중 하나가 예상 될 때 기호 "TABLE"이 발견되었습니다. <식별자> -iden tifier> long double ref char time timestamp interval date 2 진 문자 nchar – pablochan

답변

8

유형 Item이 아직 컴파일되지 않았기 때문에 Oracle은 정의를 컴파일하지 않습니다.

이 컴파일 :

CREATE OR REPLACE TYPE Item; 

CREATE OR REPLACE TYPE items_table IS TABLE OF REF item; 

다음 시도 :

CREATE OR REPLACE TYPE item AS OBJECT (
    id number, 
    subitems items_table 
) 
0

이없는 것 좋은 것입니다 왜 이런 시도를 제공 해달라고! 당신이 시도 할 수 :

create type item_ids_t is table of number; 

create type Item as object (
    id number, 
    subitems item_ids_t); 

하위 항목은 단지 다음 ID로 색인 테이블을 조회하는 데 사용되는 식별자의 목록을 의미합니다.