Files
2024-05-13 12:54:14 +02:00

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;