68 lines
2.4 KiB
SQL
68 lines
2.4 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Anonimiseren contactpersonen die niet gekoppeld zijn aan recente bezoekafspraken.
|
|
|
|
DEFINE thisfile = 'GDFS#60508.SQL'
|
|
DEFINE dbuser = '^GDFS'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SPOOL &fcltlogfile
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
-- Gooi alle contactpersonen weg die niet gekopeld zijn aan bezoekafspraken van 3 maanden oud of eerder
|
|
UPDATE prs_contactpersoon
|
|
SET prs_contactpersoon_verwijder = SYSDATE
|
|
WHERE prs_contactpersoon_verwijder IS NULL
|
|
AND prs_contactpersoon_key NOT IN
|
|
(SELECT DISTINCT cp.prs_contactpersoon_key
|
|
FROM bez_bezoekers b,
|
|
bez_afspraak a,
|
|
prs_contactpersoon cp
|
|
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
|
AND cp.prs_contactpersoon_key =
|
|
b.prs_contactpersoon_key
|
|
AND a.bez_afspraak_eind > TRUNC (SYSDATE) - 92
|
|
AND cp.prs_contactpersoon_verwijder IS NULL);
|
|
|
|
-- Anonimiseer alle verwijderde contactpersonen
|
|
-- Bij vaker gebruik van het script kan de volgende regel worden toegevoegd
|
|
-- AND prs_contactpersoon_naam != 'Geanonimiseerd'
|
|
UPDATE prs_contactpersoon
|
|
SET prs_contactpersoon_naam = 'Geanonimiseerd',
|
|
prs_contactpersoon_voornaam = NULL,
|
|
prs_contactpersoon_email = NULL,
|
|
prs_contactpersoon_telefoon_1 = NULL,
|
|
prs_contactpersoon_telefoon_2 = NULL,
|
|
prs_contactpersoon_tussenv = NULL,
|
|
prs_contactpersoon_voorletters = NULL,
|
|
prs_contactpersoon_opmerking = NULL
|
|
WHERE prs_contactpersoon_verwijder IS NOT NULL;
|
|
|
|
|
|
-- Gooi de kenmerkwaarde kenteken weg van verwijderde contactpersonen
|
|
DELETE FROM prs_kenmerklink
|
|
WHERE prs_kenmerklink_niveau = 'C' AND prs_kenmerk_key = 1002 -- kenteken
|
|
AND prs_link_key IN
|
|
(SELECT prs_contactpersoon_key
|
|
FROM prs_contactpersoon
|
|
WHERE prs_contactpersoon_verwijder IS NOT NULL);
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile |