AAIT#26333 wat verwijdering met contactpersoon cascaderen

svn path=/Database/trunk/; revision=18977
This commit is contained in:
Peter Feij
2013-09-03 11:41:22 +00:00
parent afa9d71051
commit 21b31d192a

View File

@@ -172,10 +172,13 @@ BEGIN
END IF;
END;
-- Verwijder mandateringen
BEGIN
DELETE FROM prs_perslidkostenplaats
WHERE prs_perslid_key = :old.prs_perslid_key;
END;
DELETE FROM prs_perslidkostenplaats
WHERE prs_perslid_key = :old.prs_perslid_key;
-- Verwijder contactpersoon-link
UPDATE prs_contactpersoon
SET prs_perslid_key = NULL
WHERE prs_perslid_key = :old.prs_perslid_key;
BEGIN
-- Pak mijn autorisaties af
@@ -204,7 +207,6 @@ BEGIN
IF :new.prs_perslid_oslogin IS NULL AND :old.prs_perslid_oslogin IS NOT NULL
OR :new.prs_perslid_oslogin2 IS NULL AND :old.prs_perslid_oslogin2 IS NOT NULL
OR NVL(:new.prs_perslid_wachtwoord_hash, 'X') <> NVL(:old.prs_perslid_wachtwoord_hash, 'X')
OR :new.prs_perslid_verwijder IS NOT NULL
THEN -- Merk op: anno 5.3.2 wordt een persoon die *nu* is ingelogd hier niet
-- automatisch door uitgelogt
DELETE FROM fac_session
@@ -298,7 +300,7 @@ BEGIN
// Niet verwijderen als nog MLD_OPDRs zijn met status 'Uitgegeven' en
// uitvoerende dit bedrijf
IF :new.prs_bedrijf_verwijder IS NOT NULLDATUM AND :old.prs_bedrijf_verwijder IS NULLDATUM
IF :new.prs_bedrijf_verwijder IS NOT NULL AND :old.prs_bedrijf_verwijder IS NULL
THEN
DECLARE
dummy CHAR;
@@ -332,12 +334,18 @@ BEGIN
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR_GOTO(-20000,'cnt_m023');
END;
END IF;
IF :new.prs_bedrijf_verwijder IS NOT NULL AND :old.prs_bedrijf_verwijder IS NULL
THEN
-- Ruim de afhankelijheden op:
IF :new.prs_bedrijf_verwijder IS NOT NULL AND :old.prs_bedrijf_verwijder IS NULL
THEN
UPDATE prs_afdeling
SET prs_afdeling_verwijder = :new.prs_bedrijf_verwijder
WHERE prs_afdeling_verwijder IS NULL AND prs_bedrijf_key = :old.prs_bedrijf_key;
END IF;
UPDATE prs_contactpersoon
SET prs_contactpersoon_verwijder = :new.prs_bedrijf_verwijder
WHERE prs_contactpersoon_verwijder IS NULL
AND prs_bedrijf_key = :old.prs_bedrijf_key;
END IF;
END;
/