87 lines
3.3 KiB
SQL
87 lines
3.3 KiB
SQL
/* Anonymizer for Facilitor P-ATO (reverse OTAP) chain
|
|
*
|
|
* $Revision$
|
|
* $Id$
|
|
*
|
|
* Gradually improve over time, please
|
|
*/
|
|
|
|
-- We draaien vaak vlak na een import, mooi moment om alles valid te maken
|
|
BEGIN DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE); END;
|
|
/
|
|
|
|
column afcltlogfile new_value afcltlogfile NOPRINT;
|
|
select 'ANONYMIZED_' || UPPER(USER || '_' || sys_context('USERENV', 'SERVICE_NAME') || '_' || sys_context('USERENV', 'SERVER_HOST')) || '_' || to_char(sysdate,'YYYYMMDD_HH24MISS') || '.lst' as afcltlogfile from dual;
|
|
spool &afcltlogfile
|
|
|
|
-- Destructive obstrufication of personal data.
|
|
UPDATE prs_perslid
|
|
SET prs_perslid_naam =
|
|
INITCAP (DBMS_RANDOM.string ('l', LENGTH (prs_perslid_naam)))
|
|
WHERE prs_perslid_naam NOT LIKE 'INACTIEF:%'
|
|
AND prs_perslid_naam NOT LIKE 'Facilitor'
|
|
AND (prs_perslid_oslogin IS NULL OR SUBSTR(prs_perslid_oslogin, 1, 1) <> '_');
|
|
|
|
UPDATE prs_perslid
|
|
SET prs_perslid_voornaam =
|
|
INITCAP (DBMS_RANDOM.string ('l', LENGTH (prs_perslid_voornaam)))
|
|
WHERE prs_perslid_voornaam IS NOT NULL
|
|
AND (prs_perslid_oslogin IS NULL OR SUBSTR(prs_perslid_oslogin, 1, 1) <> '_');
|
|
|
|
UPDATE prs_perslid
|
|
SET prs_perslid_voorletters =
|
|
UPPER (DBMS_RANDOM.string ('l', LENGTH (prs_perslid_voorletters)))
|
|
WHERE prs_perslid_voorletters IS NOT NULL;
|
|
|
|
UPDATE prs_perslid
|
|
SET prs_perslid_naam =
|
|
'INACTIEF:'
|
|
|| INITCAP (
|
|
DBMS_RANDOM.string ('l', LENGTH (prs_perslid_naam) - 9))
|
|
WHERE prs_perslid_naam LIKE 'INACTIEF:%';
|
|
|
|
UPDATE prs_perslid SET prs_perslid_email='E'||TO_CHAR(prs_perslid_key)||'@facilitor.nl'
|
|
WHERE prs_perslid_email IS NOT NULL;
|
|
|
|
UPDATE prs_perslid SET prs_perslid_oslogin2='O'||TO_CHAR(prs_perslid_key)
|
|
WHERE prs_perslid_oslogin2 IS NOT NULL;
|
|
|
|
DELETE FROM fac_imp_perslid;
|
|
|
|
UPDATE prs_contactpersoon
|
|
SET prs_contactpersoon_naam = INITCAP (DBMS_RANDOM.string ('l', LENGTH(prs_contactpersoon_naam)));
|
|
UPDATE prs_contactpersoon
|
|
SET prs_contactpersoon_voornaam = INITCAP (DBMS_RANDOM.string ('l', LENGTH(prs_contactpersoon_voornaam)))
|
|
WHERE prs_contactpersoon_voornaam IS NOT NULL;
|
|
UPDATE prs_contactpersoon
|
|
SET prs_contactpersoon_voorletters = SUBSTR(prs_contactpersoon_voornaam,1,1)|| SUBSTR(prs_contactpersoon_voorletters,2)
|
|
WHERE prs_contactpersoon_voorletters IS NOT NULL;
|
|
UPDATE prs_contactpersoon SET prs_contactpersoon_email='anonymous@facilitor.nl'
|
|
WHERE prs_contactpersoon_email IS NOT NULL;
|
|
|
|
ALTER TRIGGER bez_t_bez_afspraak_B_IU DISABLE;
|
|
UPDATE bez_afspraak
|
|
SET bez_afspraak_gastheer = (SELECT SUBSTR(prs_perslid_naam_full,1,50) FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key=bez_afspraak_host_key)
|
|
WHERE bez_afspraak_host_key IS NOT NULL;
|
|
|
|
UPDATE bez_afspraak
|
|
SET bez_afspraak_gastheer = INITCAP (DBMS_RANDOM.string ('l', LENGTH (bez_afspraak_gastheer)))
|
|
WHERE bez_afspraak_host_key IS NULL;
|
|
ALTER TRIGGER bez_t_bez_afspraak_B_IU ENABLE;
|
|
|
|
UPDATE bez_bezoekers
|
|
SET bez_afspraak_naam = UPPER(SUBSTR(bez_afspraak_naam,1,1))||'. Bezoeker'
|
|
WHERE bez_afspraak_naam IS NOT NULL
|
|
AND bez_afspraak_naam <> 'Anoniem';
|
|
|
|
UPDATE bez_bezoekers
|
|
SET bez_afspraak_bedrijf = UPPER(SUBSTR(bez_afspraak_bedrijf,1,1))||'areon B.V.'
|
|
WHERE bez_afspraak_bedrijf IS NOT NULL
|
|
AND bez_afspraak_bedrijf <> 'Anoniem';
|
|
|
|
|
|
BEGIN adm.systrackscriptid('$Id$'); END;
|
|
/
|
|
|
|
exit
|
|
SPOOL OFF |