NOUR#84364 Scripts om de poorten en objecten van vervallen locaties op te ruimen
svn path=/Customer/; revision=66370
This commit is contained in:
98
onces/NOUR/NOUR#84364_1.sql
Normal file
98
onces/NOUR/NOUR#84364_1.sql
Normal file
@@ -0,0 +1,98 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- NOUR#84364 Periodieke taken geeft Aiai
|
||||
-- Opschonen poorten
|
||||
--
|
||||
DEFINE thisfile = 'NOUR#84364_1.SQL'
|
||||
DEFINE dbuser = '^NOUR'
|
||||
|
||||
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 ------
|
||||
|
||||
-- opruimen poorten
|
||||
-- Alle kenmerken bij deze objecten verwijderen
|
||||
DELETE ins_kenmerkdeel kd
|
||||
WHERE kd.ins_kenmerkdeel_key IN
|
||||
(SELECT kd.ins_kenmerkdeel_key
|
||||
FROM ins_kenmerkdeel kd, ins_deel d, ins_srtdeel sd
|
||||
WHERE kd.ins_deel_key = d.ins_deel_key
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtdeel_key = 648);
|
||||
|
||||
-- Tracking verwijderen van deze objecten
|
||||
DELETE fac_tracking tr
|
||||
WHERE tr.fac_tracking_key IN
|
||||
(SELECT t.fac_tracking_key
|
||||
FROM fac_tracking t, ins_deel d
|
||||
WHERE t.fac_tracking_refkey = d.ins_deel_key AND d.ins_srtdeel_key = 648);
|
||||
|
||||
-- Meldingen met een relatie naar het object
|
||||
DELETE mld_melding_object m
|
||||
WHERE m.mld_melding_object_key IN
|
||||
(SELECT mo.mld_melding_object_key
|
||||
FROM mld_melding_object mo, ins_deel d
|
||||
WHERE mo.ins_deel_key = d.ins_deel_key AND d.ins_srtdeel_key = 648);
|
||||
|
||||
-- Het object is een child van een ander object, deze verwijderen we eerst
|
||||
DELETE ins_deel dc
|
||||
WHERE dc.ins_srtdeel_key = 648
|
||||
AND dc.ins_deel_parent_key IN (SELECT dp.ins_deel_key
|
||||
FROM ins_deel dp
|
||||
WHERE dp.ins_srtdeel_key =648);
|
||||
|
||||
-- Het object is een parent van een ander object, deze relatie wordt verwijderd
|
||||
UPDATE ins_deel dc
|
||||
SET dc.ins_deel_parent_key = NULL
|
||||
WHERE dc.ins_deel_parent_key IN (SELECT dp.ins_deel_key
|
||||
FROM ins_deel dp
|
||||
WHERE dp.ins_srtdeel_key = 648 );
|
||||
|
||||
-- geen uitgifte
|
||||
-- geen ins deel koppelingen voor deze objectsoorten
|
||||
-- geen periodieke taken op deze objecten
|
||||
-- geen notities bij deze objecten
|
||||
|
||||
-- Objecten zelf verwijderen
|
||||
DELETE ins_deel d
|
||||
WHERE d.ins_srtdeel_key = 648;
|
||||
|
||||
-- We gaan ook alle objecten verwijderen van locaties die niet meer actief zijn binnen Nouryon
|
||||
DELETE ins_deel d
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND d.ins_deel_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL);
|
||||
|
||||
------ 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
|
||||
146
onces/NOUR/NOUR#84364_2.sql
Normal file
146
onces/NOUR/NOUR#84364_2.sql
Normal file
@@ -0,0 +1,146 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- NOUR#84364 Periodieke taken geeft Aiai
|
||||
-- Opschonen objecten van vervallen locaties
|
||||
--
|
||||
DEFINE thisfile = 'NOUR#84364_2.SQL'
|
||||
DEFINE dbuser = '^NOUR'
|
||||
|
||||
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 ------
|
||||
|
||||
-- opruimen poorten
|
||||
-- Alle kenmerken bij deze objecten verwijderen
|
||||
DELETE ins_kenmerkdeel kd
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND kd.ins_deel_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL);
|
||||
|
||||
-- Tracking verwijderen van deze objecten
|
||||
DELETE fac_tracking tr
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND tr.fac_tracking_refkey = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL);
|
||||
|
||||
-- Meldingen met een relatie naar het object
|
||||
DELETE mld_melding_object m
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND m.ins_deel_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL);
|
||||
|
||||
-- Het object is een child van een ander object, deze verwijderen we eerst
|
||||
DELETE ins_deel dc
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND dc.ins_deel_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL)
|
||||
AND EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND dc.ins_deel_parent_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL);
|
||||
|
||||
-- Het object is een parent van een ander object, deze relatie wordt verwijderd
|
||||
UPDATE ins_deel dc
|
||||
SET dc.ins_deel_parent_key = NULL
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND dc.ins_deel_parent_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL);
|
||||
|
||||
-- Het object is uitgegeven, deze uitgifte verwijderen we
|
||||
DELETE ins_deel_uitgifte u
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND u.ins_deel_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL);
|
||||
|
||||
-- Periodieke taken op deze objecten verwijderen
|
||||
DELETE ins_deelsrtcontrole sk
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND sk.ins_deel_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL);
|
||||
|
||||
-- er zijn reserveringen op deze objecten die we moeten verwijderen
|
||||
DELETE res_rsv_deel rsv
|
||||
WHERE rsv.res_deel_key IN
|
||||
(SELECT rd.res_deel_key
|
||||
FROM res_deel rd
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND rd.res_ins_deel_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL));
|
||||
|
||||
-- daarna kunnen we het reserveerbare object verwijderen
|
||||
DELETE res_deel rd
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND rd.res_ins_deel_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL);
|
||||
|
||||
-- geen notities bij deze objecten
|
||||
-- geen ins deel koppelingen voor deze objectsoorten
|
||||
|
||||
-- Objecten zelf verwijderen
|
||||
DELETE ins_deel d
|
||||
WHERE EXISTS
|
||||
(SELECT i.ins_deel_key
|
||||
FROM ins_deel i, alg_locatie l
|
||||
WHERE i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND d.ins_deel_key = i.ins_deel_key
|
||||
AND alg_locatie_verwijder IS NOT NULL);
|
||||
|
||||
------ 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