2016-04-28 7 views
0

Как вставить данные в эту структуру таблицы.Oracle INSERT INTO таблица набора типов

CREATE TABLE COLLECTION_TABLE (id number, collection_object COLLECTION_01 
) nested table collection_object store as collection; 

где COLLECTION_01 представляет собой тип

CREATE OR REPLACE TYPE COLLECTION_01 AS TABLE OF dept_typ_01; 

ГДЕ dept_typ_01 является

CREATE TYPE dept_typ_01 AS OBJECT(mgr Person_typ, emps Person_typ); 

где Person_typ является

CREATE TYPE Person_typ_01 AS OBJECT(name CHAR(20),ssn CHAR(12)); 

Я попытался с пустым конструктором

INSERT INTO COLLECTION_TABLE values (2, COLLECTION_01()) 

который вставить только пустые данные, но когда я попытался с

INSERT INTO 
    COLLECTION_TABLE 
    values (2, COLLECTION_01(
     dept_typ_01( 
     mgr(Person_typ_01 ('name','ssn', 'addr')), 
     emps(Person_typ_01 ('name','ssn', 'addr')) 
     ) 
    ) 
    ); 

Oracle дается исключение

SQL Error: ORA-00904: "EMPS": invalid identifier 

Может кто-то пролил некоторый свет здесь?

ответ

0

Это сделал трюк

INSERT INTO 
    COLLECTION_TABLE 
    values (2, COLLECTION_01(
     dept_typ_01(
      (PERSON_TYP ('name1','ssn1', 'addr2')), 
      (PERSON_TYP ('name2','ssn2', 'addr2')) 
     ) 
    ) 
    ); 
Смежные вопросы