-- insert donor in stato attivo insert into dbcgo_pp(id_richiesta, data_operazione, codice_operatore_donating,codice_operatore_recipient, msisdn, processo, terminato) select id_richiesta,data_transizione_stato,codice_operatore_donating,codice_operatore_recipient,msisdn,'D',0 from DBCGO_GESTIONE_RICHIESTA d1 where stato not in (4,10,12,16,22) and msisdn in ( SELECT msisdn FROM dbcgo_pp_view v where v.msisdn=d1.msisdn ) / commit; -- insert recipient in stato attivo insert into dbcgo_pp(id_richiesta, data_operazione, codice_operatore_donating,codice_operatore_recipient, msisdn, processo, terminato) select id_richiesta,data_transizione_stato,codice_operatore_donating,codice_operatore_recipient,msisdn,'R',0 from DBCGO_GESTIONE_RICHIESTA_REC r1 where stato not in (1,5,7,9,12,14,16,17) and msisdn in ( SELECT msisdn FROM dbcgo_pp_view v where v.msisdn=r1.msisdn ) / commit; -- insert dbcgo_pp_view da stato attivo insert into dbcgo_pp(id_richiesta, data_operazione, codice_operatore_donating,codice_operatore_recipient, msisdn, processo, terminato) SELECT id_richiesta,data_operazione,codice_operatore_donating,codice_operatore_recipient,msisdn,processo,1 FROM dbcgo_pp_view v where exists ( select 1 from dbcgo_pp p where p.msisdn=v.msisdn ) / commit; -- insert da dbcgo_view_pp con almeno 2 richieste e nessuna richiesta in stato attivo insert into dbcgo_pp(id_richiesta, data_operazione, codice_operatore_donating,codice_operatore_recipient, msisdn, processo, terminato) SELECT id_richiesta,data_operazione,codice_operatore_donating,codice_operatore_recipient,msisdn,processo,1 FROM dbcgo_pp_view v where msisdn in ( select msisdn from dbcgo_pp_view group by msisdn having count(msisdn)>1 ) and not exists( select 1 from dbcgo_pp p where p.msisdn=v.msisdn ) / commit;