CONSTRAINT met ON DELETE CASCADE op fac_import_key in FMHN_IMP_ORG en FMHN_IMP_PRS

svn path=/Customer/; revision=54360
This commit is contained in:
Maarten van der Heide
2022-01-03 17:14:15 +00:00
parent 4a63129377
commit 78aeb7a087

View File

@@ -0,0 +1,49 @@
--
-- $Id$
--
-- Customer specific once-script FMHN#IMP_CONSTR.sql.
DEFINE thisfile = 'FMHN#IMP_CONSTR.sql'
DEFINE dbuser = '^FMHN'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
-- Om te hard groeien (en daarmee performance-problemen) te voorkomen, zorgen
-- onderstaande constraints ervoor dat oude records in fmhn_imp_org en
-- fmhn_imp_prs automatisch worden geschoond als de gerelateerde records uit
-- fac_import worden geschoond.
DELETE FROM fmhn_imp_org x WHERE NOT EXISTS (SELECT 1 from fac_import WHERE fac_import_key = x.fac_import_key);
COMMIT;
ALTER TABLE fmhn_imp_org ADD CONSTRAINT fmhn_c_fac_import_key_org FOREIGN KEY (fac_import_key) REFERENCES fac_import (fac_import_key) ON DELETE CASCADE;
COMMIT;
DELETE FROM fmhn_imp_prs x WHERE NOT EXISTS (SELECT 1 from fac_import WHERE fac_import_key = x.fac_import_key);
COMMIT;
ALTER TABLE fmhn_imp_prs ADD CONSTRAINT fmhn_c_fac_import_key_prs FOREIGN KEY (fac_import_key) REFERENCES fac_import (fac_import_key) ON DELETE CASCADE;
COMMIT;
------ 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