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:
49
onces/FMHN/FMHN#IMP_CONSTR.sql
Normal file
49
onces/FMHN/FMHN#IMP_CONSTR.sql
Normal 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
|
||||
Reference in New Issue
Block a user