122 lines
3.2 KiB
SQL
122 lines
3.2 KiB
SQL
-- OpschonenAfdPrs.sql
|
|
--
|
|
--
|
|
SET ECHO ON
|
|
SPOOL xOpschonenAfdPrs.lst
|
|
PROMPT $Revision: 1 $
|
|
|
|
DECLARE
|
|
|
|
CURSOR c_cursor
|
|
IS
|
|
select p.prs_perslid_key from prs_v_verplichting_all v, prs_perslid p
|
|
where p.prs_perslid_key = v.prs_perslid_key(+)
|
|
and p.prs_perslid_verwijder is not null
|
|
and v.prs_perslid_key is null;
|
|
|
|
|
|
next_record c_cursor%ROWTYPE;
|
|
|
|
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errormsg VARCHAR2 (1024);
|
|
|
|
BEGIN
|
|
FOR next_record IN c_cursor LOOP
|
|
BEGIN
|
|
|
|
|
|
DELETE PRS_PERSLID WHERE PRS_PERSLID_KEY = next_record.prs_perslid_key;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
'(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes
|
|
|| ')';
|
|
INSERT INTO IMP_LOG(IMP_LOG_APPLICATIE, IMP_LOG_RUN, IMP_LOG_STATUS, IMP_LOG_DATUM, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
|
values
|
|
('DELETE PERSOON','BATCH', 'E', sysdate, 'Verwijderen perslid_key: ' || next_record.prs_perslid_key , v_errormsg);
|
|
COMMIT;
|
|
END;
|
|
|
|
END LOOP;
|
|
|
|
commit;
|
|
|
|
-- verwijderen van personen kan enige tijd duren (+/- 1 uur).
|
|
|
|
END;
|
|
/
|
|
|
|
|
|
|
|
|
|
DECLARE
|
|
|
|
CURSOR c_cursor
|
|
IS
|
|
SELECT DISTINCT prs_afdeling_key, prs_afdeling_omschrijving,prs_afdeling_naam FROM prs_afdeling where prs_afdeling_verwijder is not null;
|
|
|
|
next_record c_cursor%ROWTYPE;
|
|
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errormsg VARCHAR2 (1024);
|
|
|
|
BEGIN
|
|
FOR next_record IN c_cursor LOOP
|
|
BEGIN
|
|
|
|
|
|
DELETE PRS_AFDELING WHERE PRS_AFDELING_KEY = next_record.prs_afdeling_key;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
'(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes
|
|
|| ')';
|
|
INSERT INTO IMP_LOG(IMP_LOG_APPLICATIE, IMP_LOG_RUN, IMP_LOG_STATUS, IMP_LOG_DATUM, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
|
values
|
|
('DELETE AFDELING','BATCH', 'E', sysdate, 'Verwijderen (1e run) afd_key: ' || next_record.prs_afdeling_key , v_errormsg);
|
|
COMMIT;
|
|
END;
|
|
|
|
END LOOP;
|
|
|
|
FOR next_record IN c_cursor LOOP
|
|
BEGIN
|
|
|
|
|
|
DELETE PRS_AFDELING WHERE PRS_AFDELING_KEY = next_record.prs_afdeling_key;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
'(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes
|
|
|| ')';
|
|
INSERT INTO IMP_LOG(IMP_LOG_APPLICATIE, IMP_LOG_RUN, IMP_LOG_STATUS, IMP_LOG_DATUM, IMP_LOG_OMSCHRIJVING, IMP_LOG_HINT)
|
|
values
|
|
('DELETE AFDELING','BATCH', 'E', sysdate, 'Verwijderen (2e run) afd_key: ' || next_record.prs_afdeling_key , v_errormsg);
|
|
COMMIT;
|
|
END;
|
|
|
|
END LOOP;
|
|
commit;
|
|
|
|
-- verwijderen van afdelingen kan enige tijd duren (< 1 uur).
|
|
|
|
END;
|
|
/
|
|
|
|
SPOOL OFF
|