-- AGGIORNAMENTO DIRETTO SENZA PASSARE PER LE TABELLE PRINCIPALI -- PER LE RICHIESTE PRECEDENTI AL QUANDO ANCORA NON ESISTEVANO I VIRTUALI UPDATE dbcgo_donor_pp dpp SET dpp.codice_operatore_don_eff = dpp.CODICE_OPERATORE_DONATING, dpp.codice_operatore_rec_eff = dpp.CODICE_OPERATORE_RECIPIENT WHERE data_transizione_stato < TO_DATE('01012009','ddmmyyyy'); COMMIT; UPDATE dbcgo_recipient_pp rpp SET rpp.codice_operatore_don_eff = rpp.CODICE_OPERATORE_DONATING, rpp.codice_operatore_rec_eff = rpp.CODICE_OPERATORE_RECIPIENT WHERE data_transizione_stato < TO_DATE('01012009','ddmmyyyy'); COMMIT; UPDATE dbcgo_porting_pp ppp SET ppp.codice_operatore_don_eff = ppp.CODICE_OPERATORE_DONATING, ppp.codice_operatore_rec_eff = ppp.CODICE_OPERATORE_RECIPIENT WHERE data_transizione_stato < TO_DATE('01012009','ddmmyyyy'); COMMIT; -- AGGIORNAMENTO DEI DATI PER LE RICHIESTE PRESENTI SU DBCGO UPDATE dbcgo_donor_pp dpp SET (dpp.codice_operatore_don_eff, dpp.codice_operatore_rec_eff) = ( SELECT NVL(CODICE_OPERATORE_V_DONOR,CODICE_OPERATORE_DONATING), NVL(CODICE_OPERATORE_V_RECIPIENT,CODICE_OPERATORE_RECIPIENT) FROM dbcgo_gestione_richiesta WHERE id_richiesta = dpp.id_richiesta) WHERE codice_operatore_don_eff IS NULL; COMMIT; UPDATE dbcgo_recipient_pp rpp SET (rpp.codice_operatore_don_eff, rpp.codice_operatore_rec_eff) = ( SELECT NVL(CODICE_OPERATORE_V_DONOR,CODICE_OPERATORE_DONATING), NVL(CODICE_OPERATORE_V_RECIPIENT,CODICE_OPERATORE_RECIPIENT) FROM dbcgo_gestione_richiesta_rec WHERE id_richiesta = rpp.id_richiesta) WHERE codice_operatore_don_eff IS NULL; COMMIT; -- AGGIORNAMENTO DEI DATI PER LE RICHIESTE NON PRESENTI SU DBCGO -- -- ESTRAZIONE DELLE INFORMAZIONI DALLE TABELLE ON-LINE di DBC UPDATE dbcgo_donor_pp dpp SET (dpp.codice_operatore_don_eff, dpp.codice_operatore_rec_eff) = ( SELECT codice_operatore_don_eff, codice_operatore_rec_eff FROM mnp_gestione_richiesta@mnp WHERE id_richiesta = dpp.id_richiesta) WHERE codice_operatore_don_eff IS NULL; COMMIT; UPDATE dbcgo_recipient_pp rpp SET (rpp.codice_operatore_don_eff, rpp.codice_operatore_rec_eff) = ( SELECT codice_operatore_don_eff, codice_operatore_rec_eff FROM mnp_gestione_richiesta_rec@mnp WHERE id_richiesta = rpp.id_richiesta) WHERE codice_operatore_don_eff IS NULL; COMMIT; UPDATE dbcgo_porting_pp ppp SET (ppp.codice_operatore_don_eff, ppp.codice_operatore_rec_eff) = ( SELECT codice_operatore_don_eff, codice_operatore_rec_eff FROM mnp_gestione_richiesta_porting@mnp WHERE id_richiesta = ppp.id_richiesta) WHERE codice_operatore_don_eff IS NULL; COMMIT; -- -- -- -- AGGIORNAMENTO DELLE RICHIESTE CHE NON HANNO AVUTO NESSUNA CORRISPONDENZA -- DALLE PRECEDENTI UPDATE, DOVREBBERO AGGIORNARE ZERO RECORD UPDATE dbcgo_donor_pp dpp SET dpp.codice_operatore_don_eff = dpp.CODICE_OPERATORE_DONATING, dpp.codice_operatore_rec_eff = dpp.CODICE_OPERATORE_RECIPIENT WHERE codice_operatore_don_eff IS NULL; COMMIT; UPDATE dbcgo_recipient_pp rpp SET rpp.codice_operatore_don_eff = rpp.CODICE_OPERATORE_DONATING, rpp.codice_operatore_rec_eff = rpp.CODICE_OPERATORE_RECIPIENT WHERE codice_operatore_don_eff IS NULL; COMMIT; UPDATE dbcgo_porting_pp ppp SET ppp.codice_operatore_don_eff = ppp.CODICE_OPERATORE_DONATING, ppp.codice_operatore_rec_eff = ppp.CODICE_OPERATORE_RECIPIENT WHERE codice_operatore_don_eff IS NULL; COMMIT; -- aggiornamento tabella centrale UPDATE dbcgo_pp pp SET (codice_operatore_donating, codice_operatore_recipient) = ( SELECT NVL(pp_vw.codice_operatore_don_eff, pp_vw.CODICE_OPERATORE_DONATING), NVL(pp_vw.codice_operatore_rec_eff, pp_vw.CODICE_OPERATORE_RECIPIENT) FROM DBCGO_PP_VIEW pp_vw WHERE pp.id_richiesta = pp_vw.id_richiesta AND pp.processo = pp_vw.processo AND (pp.codice_operatore_donating <> pp_vw.codice_operatore_don_eff OR pp.codice_operatore_recipient <> pp_vw.codice_operatore_rec_eff)) WHERE (id_richiesta, processo) IN ( SELECT id_richiesta, processo FROM DBCGO_PP_VIEW pp_vw WHERE pp.id_richiesta = pp_vw.id_richiesta AND pp.processo = pp_vw.processo AND (pp.codice_operatore_donating <> pp_vw.codice_operatore_don_eff OR pp.codice_operatore_recipient <> pp_vw.codice_operatore_rec_eff)); COMMIT;