Как мне вставить в таблицу REF? - PullRequest
0 голосов
/ 26 апреля 2011
CREATE TYPE artist_table_type AS TABLE OF REF artist_type;
/                                                         

INSERT INTO track_table VALUES (                              
   1,                                                     
   'test title',                                          
   123,                                                   
   to_date('12-09-1989', 'dd-mm-yyyy'),                   
   artist_table_type(                                     
            -- What goes here???
   ),                                                     
   artist_table_type());  

Я хочу вставить в эту таблицу вложенную таблицу ссылок на объекты.Я могу это сделать?Я собираюсь развернуть этот стол?

Ответы [ 2 ]

1 голос
/ 26 апреля 2011

Вы можете создать вложенную таблицу в SQL с помощью функций COLLECT и CAST.Например, если вы хотите выбрать объекты художника из другой таблицы на основе какого-либо условия, я считаю, что это должно работать:

INSERT INTO track_table
  SELECT
   1,
   'test title',
   123,
   to_date('12-09-1989', 'dd-mm-yyyy'),
   CAST(COLLECT(REF(artists)) AS artist_table_type)
   artist_table_type()
  FROM
   artists
  WHERE <whatever the condition is for selecting the appropriate artists>
  ;
0 голосов
/ 26 апреля 2011
INSERT INTO TABLE(this table is syntax dont think its name of the table..)

(SELECT t.nested_tbl_colm 
(nested_tbl_colm is nested table) 

FROM table_name t 
(table_name is the normal table whose one or more column is nested table here its nested_tbl_colm)  

WHERE t.tbl_colm= any input or conditions)

VALUES
(value to be inserted);

COMMIT;

Остальная часть столбца будет вставлена ​​как обычно, а указанный выше код используется для вставки во вложенную таблицу.Дайте мне знать, если вы не поняли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...