Oracle 10g: вставка нескольких строк - PullRequest
0 голосов
/ 28 августа 2018

У меня следующий оператор выбора :

select dte, wm_concat(issue) as issues
from ((select date_a as dte, issue from t where date_a is not null) union all
      (select date_b, issue from t where date_b is not null)
     ) di
group by dte
order by dte;

, который возвращает несколько строк, таких как:

DTE        | ISSUES
-----------+---------
01/JUN/91  | EE
01/JUN/03  | EE
01/JAN/06  | HH
01/AUG/06  | EE
01/AUG/08  | EE,HS,HE

Я хотел бы вставить эти записи в таблицу.

Вопрос

Как мне написать оператор вставки? Должен ли я использовать курсор, поскольку кажется, что INSERT может обрабатывать одну строку за раз?

1 Ответ

0 голосов
/ 28 августа 2018

Используйте выбор как источник для вставки:

insert into some_table (dte, issues)
select dte, wm_concat(issue) as issues
from (
   select date_a as dte, issue 
   from t 
   where date_a is not null
   union all
   select date_b, issue 
   from t 
   where date_b is not null
) di
group by dte;

Нет необходимости ставить отдельные запросы UNION между скобками.

...