14 ноября 2013 г.

Шпаргалка по SQL и PL/SQL Oracle: insert в таблицу группированных данных

Если требуется сгруппировать данные по какой либо таблице и перенести в другую таблицу с уникальным полем первичным ключем, то может возникнуть проблема. Лучше рассмотреть не примере ->

Такой код не будет работать:
insert into BCDRAGGREGATOR
select S_COAGGREGATOR.nextval as coaggregator,
       numident as identificator,
       coerror,
       count(*) bcdrcount
    from badcdr
group by numident,
         coerror
А такой код работает:
insert into BCDRAGGREGATOR
select S_BCDRAGGREGATOR.nextval as COAGGREGATOR,
       a.*
from
    (select numident as identificator,
            coerror,
            d2d.id_dep,
            count(*) bcdrcount
        from badcdr
    group by numident,
             coerror) a
 Стоит быть внимательным к ошибкам.

Комментариев нет:

Отправить комментарий