103 lines
4.2 KiB
SQL
103 lines
4.2 KiB
SQL
-- AGGIORNAMENTO DIRETTO SENZA PASSARE PER LE TABELLE PRINCIPALI
|
|
-- PER LE RICHIESTE PRECEDENTI AL <DATA> 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;
|