FSN#26947 bij impliciet werkplek met bezetting deleten
svn path=/Database/trunk/; revision=18289
This commit is contained in:
@@ -51,11 +51,6 @@ BEGIN
|
||||
CHECK_NOG_REFERENCES(prs_perslid, prs_afdeling_verwijder,
|
||||
prs_v_aanwezigperslid, prs_afdeling_key, 'prs_m015');
|
||||
UPDATE_AANMAAKDATUM(prs_afdeling, prs_afdeling_aanmaak);
|
||||
|
||||
/* 6/20/97/AH #1312, De CASCADE-verwijderen van
|
||||
* PRS_PERSLIDWERKPLEK verplaatst naar PRS011/Verwijderen. In de trigger een
|
||||
* RESTRICTED toegevoegd om evt. fouten te kunnen voorkomen.
|
||||
*/
|
||||
CHECK_NOG_REFERENCES(prs_perslid, prs_afdeling_verwijder,
|
||||
prs_v_aanwezigruimteafdeling, prs_afdeling_key, 'SYSTEM ERROR: In Afdeling, er zijn nog PRS_RUIMTEAFDELING-records');
|
||||
IF :new.prs_afdeling_verwijder IS NOT NULL AND :old.prs_afdeling_verwijder IS NULL THEN
|
||||
@@ -161,8 +156,20 @@ BEGIN
|
||||
|
||||
-- Hierna kan het verwijderen niet meer falen
|
||||
BEGIN
|
||||
DELETE FROM prs_perslidwerkplek
|
||||
WHERE prs_perslid_key = :old.prs_perslid_key;
|
||||
-- Ja, je zou zeggen dat dit een zaak is van prs_perslidwerkplek, maar
|
||||
-- dat is toch niet zo. Bovendien krijg je dan nare mutating trigger errors.
|
||||
IF fac.getsetting ('prs_werkplek_implicit') = 1
|
||||
THEN
|
||||
DELETE FROM prs_werkplek
|
||||
WHERE prs_werkplek_key IN (SELECT prs_werkplek_key
|
||||
FROM prs_perslidwerkplek
|
||||
WHERE prs_perslid_key = :old.prs_perslid_key);
|
||||
-- Deze delete cascadeert naar de werkplekbezetting door, gooit die dus ook weg
|
||||
ELSE
|
||||
-- Bij expliciet gooien wij de bezetting weg en blijft de werkplek leeg achter
|
||||
DELETE FROM prs_perslidwerkplek
|
||||
WHERE prs_perslid_key = :old.prs_perslid_key;
|
||||
END IF;
|
||||
END;
|
||||
-- Verwijder mandateringen
|
||||
BEGIN
|
||||
@@ -264,13 +271,6 @@ FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(prs_perslidwerkplek_key, prs_s_prs_perslidwerkplek_key);
|
||||
UPDATE_AANMAAKDATUM(prs_perslidwerkplek, prs_perslidwerkplek_aanmaak);
|
||||
|
||||
/*
|
||||
* 10-7-97 AH #1365, PRS_PERSLIDWERKPLEK_VERWIJDER-velden weggehaald.
|
||||
*
|
||||
* 5/26/97 AH #1255, VERWIJDER-veld mag niet meer gebruikt worden ivm. MUTATING TABLE
|
||||
* bij CASCADE van PRS_PERSLID, enz. Dus hier een controle toegevoegd
|
||||
*/
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user