CSUN#90600 Er zijn heel veel onnodige gebouwen/verdiepingen/ruimten aangemaakt vanuit de daily procedure update_vastgoed. Er waren al gebouwen/verdiepingen/ruimten verwijderd die 1 dag hebben bestaan, maar er blijken ook flink wat gebouwen/verdiepingen/ruimten te zijn verwijder die zelfs op dezelfde dag al zijn verwijderd. Om ook die te verwijderen, daarvoor is dit script.
svn path=/Customer/; revision=70578
This commit is contained in:
74
onces/CSUN/CSUN#90600_verwijderenALG_samedaydelete.sql
Normal file
74
onces/CSUN/CSUN#90600_verwijderenALG_samedaydelete.sql
Normal file
@@ -0,0 +1,74 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Korte beschrijving wat het script doet
|
||||
-- Onnodige gebouwen/verdiepingen/ruimten die steeds maar 1 dag hebben bestaan mogen helemaal verwijderd worden uit de database, daar staat niets aan gekoppeld.
|
||||
-- In een vorig (vergelijkbaar script) werden al zaken verwijderd die 1 dag na aanmaak waren verwijderd.
|
||||
-- Maar er zijn ook gebouwen/verdiepingen/ruimten die nog sneller zijn aangemaakt en verwijderd (soms wel binnen 2 minuten)
|
||||
-- Daarvoor zal er een once script gemaakt worden, dit zorgt nu voor een onnodige performance-belasting.
|
||||
-- Er zijn vanaf 16 september tot en met 30 september volgend aantal gebouwen/verdiepingen/ruimten die zijn aangemaakt en direct dezelfde dag ook zijn verwijderd:
|
||||
-- 33.238 gebouwen;
|
||||
-- 145.621 verdiepingen;
|
||||
-- 145.621 ruimten;
|
||||
|
||||
DEFINE thisfile = 'CSUN#90600_verwijderenALG_samedaydelete.SQL'
|
||||
DEFINE dbuser = '^CSUN'
|
||||
|
||||
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 ------
|
||||
|
||||
DECLARE
|
||||
v_min_date DATE := TO_DATE('16-09-2025','DD-MM-YYYY');
|
||||
BEGIN
|
||||
/* 1) RUIMTES eerst */
|
||||
DELETE FROM alg_ruimte r
|
||||
WHERE TRUNC(r.alg_ruimte_aanmaak) = TRUNC(r.alg_ruimte_verwijder)
|
||||
-- AND r.alg_ruimte_key NOT IN (
|
||||
-- SELECT alg_ruimte_key
|
||||
-- FROM prs_v_perslidwerkplek_gegevens)
|
||||
AND r.alg_ruimte_aanmaak >= v_min_date;
|
||||
COMMIT;
|
||||
|
||||
/* 2) VERDIEPINGEN daarna (alleen als er geen ruimtes meer onder hangen) */
|
||||
DELETE FROM alg_verdieping v
|
||||
WHERE TRUNC(v.alg_verdieping_aanmaak) = TRUNC(v.alg_verdieping_verwijder)
|
||||
-- AND v.alg_verdieping_key NOT IN (
|
||||
-- SELECT alg_verdieping_key
|
||||
-- FROM prs_v_perslidwerkplek_gegevens)
|
||||
AND v.alg_verdieping_aanmaak >= v_min_date;
|
||||
COMMIT;
|
||||
|
||||
/* 3) GEBOUWEN tot slot (alleen als er geen verdiepingen meer onder hangen) */
|
||||
DELETE FROM alg_gebouw g
|
||||
WHERE TRUNC(g.alg_gebouw_aanmaak) = TRUNC(g.alg_gebouw_verwijder)
|
||||
-- AND g.alg_gebouw_key NOT IN (
|
||||
-- SELECT alg_gebouw_key
|
||||
-- FROM prs_v_perslidwerkplek_gegevens)
|
||||
AND g.alg_gebouw_aanmaak >= v_min_date;
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
|
||||
------ 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