UWVA#65182 Bewaartermijnen/automatische schoning in core
svn path=/Database/trunk/; revision=49209
This commit is contained in:
@@ -17,6 +17,7 @@ CREATE OR REPLACE PACKAGE cnt AS
|
||||
|
||||
FUNCTION getnieuwsteversiekey(p_key IN NUMBER) RETURN NUMBER;
|
||||
FUNCTION sprintf (ps IN VARCHAR2 , p_contract_key IN NUMBER) RETURN VARCHAR2;
|
||||
PROCEDURE remove(p_contract_key IN NUMBER);
|
||||
|
||||
PRAGMA RESTRICT_REFERENCES (cnt_contract_status, WNDS, WNPS);
|
||||
END cnt;
|
||||
@@ -231,7 +232,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
|
||||
RETURN 4;
|
||||
END;
|
||||
|
||||
|
||||
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER)
|
||||
IS
|
||||
begin1 DATE;
|
||||
@@ -515,6 +516,48 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
RETURN s;
|
||||
END;
|
||||
|
||||
PROCEDURE remove(p_contract_key IN NUMBER)
|
||||
IS
|
||||
CURSOR c_contract IS
|
||||
SELECT cnt_contract_key
|
||||
FROM cnt_contract
|
||||
WHERE cnt_contract_mantel_key = p_contract_key;
|
||||
|
||||
CURSOR c_factuur IS
|
||||
SELECT fin_factuur_key
|
||||
FROM fin_factuur
|
||||
WHERE cnt_contract_key = p_contract_key;
|
||||
BEGIN
|
||||
FOR ref_contract IN c_contract
|
||||
LOOP
|
||||
cnt.remove(ref_contract.cnt_contract_key);
|
||||
END LOOP;
|
||||
|
||||
FOR ref_factuur IN c_factuur
|
||||
LOOP
|
||||
fin.remove(ref_factuur.fin_factuur_key);
|
||||
END LOOP;
|
||||
|
||||
DELETE FROM cnt_contract
|
||||
WHERE cnt_contract_key = p_contract_key;
|
||||
|
||||
-- Van de volgende tabellen worden de records die naar deze p_contact_key
|
||||
-- verwijzen met ON DELETE CASCADE ook verwijderd:
|
||||
-- cnt_contract_note
|
||||
-- cnt_contract_object
|
||||
-- cnt_contract_plaats
|
||||
-- cnt_contract_dienst
|
||||
-- cnt_factuurschema
|
||||
-- cnt_kenmerkcontract
|
||||
-- In de volgende tabel wordt cnt_contract_key leeg gemaakt bij het verwijderen van p_contract_key:
|
||||
-- mld_opdr
|
||||
|
||||
fac.remove_tracking('contract', p_contract_key);
|
||||
-- NB:
|
||||
-- Tabel bes_bestelopdr heeft ook een cnt_contract key, maar deze heeft geen referential integrity constraint.
|
||||
-- In geen enkele omgeving is cnt_contract_key in deze tabel ingevuld.
|
||||
END;
|
||||
|
||||
END cnt;
|
||||
/
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ CREATE_TABLE(cnt_contract_object,0)
|
||||
CONSTRAINT cnt_k_cnt_contract_object_key PRIMARY KEY
|
||||
, cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_key_object REFERENCES cnt_contract(cnt_contract_key)
|
||||
CONSTRAINT cnt_r_cnt_contract_key_object REFERENCES cnt_contract(cnt_contract_key) ON DELETE CASCADE
|
||||
, cnt_ins_srtdeel_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_ins_srtdeel_key REFERENCES ins_srtdeel(ins_srtdeel_key)
|
||||
@@ -226,7 +226,7 @@ CREATE_TABLE(cnt_contract_plaats,0)
|
||||
CONSTRAINT cnt_k_cnt_contract_plaats PRIMARY KEY
|
||||
, cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_key_plaats REFERENCES cnt_contract(cnt_contract_key)
|
||||
CONSTRAINT cnt_r_cnt_contract_key_plaats REFERENCES cnt_contract(cnt_contract_key) ON DELETE CASCADE
|
||||
, cnt_alg_plaats_key
|
||||
NUMBER(10)
|
||||
, cnt_alg_plaats_code
|
||||
@@ -247,7 +247,7 @@ CREATE_TABLE (CNT_CONTRACT_DIENST,0)
|
||||
PRIMARY KEY,
|
||||
cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_dienst REFERENCES cnt_contract(cnt_contract_key),
|
||||
CONSTRAINT cnt_r_cnt_contract_dienst REFERENCES cnt_contract(cnt_contract_key) ON DELETE CASCADE,
|
||||
mld_stdmelding_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_stdmld REFERENCES mld_stdmelding(mld_stdmelding_key),
|
||||
@@ -269,7 +269,7 @@ ALTER TABLE mld_opdr ADD
|
||||
(
|
||||
cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT mld_r_cnt_contract_key REFERENCES cnt_contract(cnt_contract_key)
|
||||
CONSTRAINT mld_r_cnt_contract_key REFERENCES cnt_contract(cnt_contract_key) ON DELETE SET NULL
|
||||
);
|
||||
|
||||
ALTER TABLE mld_opdr ADD
|
||||
@@ -418,7 +418,7 @@ CREATE_TABLE(cnt_factuurschema , 0)
|
||||
cnt_contract_key
|
||||
NUMBER(10)
|
||||
NOT NULL
|
||||
CONSTRAINT cnt_r_cnt_factuurschema1 REFERENCES cnt_contract(cnt_contract_key),
|
||||
CONSTRAINT cnt_r_cnt_factuurschema1 REFERENCES cnt_contract(cnt_contract_key) ON DELETE CASCADE,
|
||||
cnt_factuurschema_boekmaand /* format YYYY-MM */
|
||||
VARCHAR2(7),
|
||||
cnt_factuurschema_bedrag
|
||||
|
||||
Reference in New Issue
Block a user