GDFS#60508
svn path=/Customer/; revision=45169
This commit is contained in:
68
onces/GDFS/GDFS#60508.sql
Normal file
68
onces/GDFS/GDFS#60508.sql
Normal file
@@ -0,0 +1,68 @@
|
||||
--
|
||||
-- $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
|
||||
Reference in New Issue
Block a user