Files
Customer/onces/KMMO/KMMO#82686.sql
Maykel Geerdink 3f9a46e0fa KMMO#82686: Regels in MJOB realisatie komen dubbel voor.
svn path=/Customer/; revision=64712
2024-05-16 15:28:19 +00:00

97 lines
4.6 KiB
SQL

-- $Id$
--
-- Script om bij taken met meerdere inspecties in een jaar de laatsten inspecties te verwijderen zodat er één overblijft.
--
--
DEFINE thisfile = 'KMMO#82686.SQL'
DEFINE dbuser = '^KMMO'
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 ------
DELETE FROM ins_deelsrtcontrole
WHERE ins_deelsrtcontrole_key IN
(SELECT isc.ins_deelsrtcontrole_key
FROM ins_deelsrtcontrole isc,
(SELECT aantal,
ins_deel_key,
ins_srtcontrole_key,
ins_scenario_key
FROM ( SELECT COUNT(ins_deelsrtcontrole_key)
aantal,
MAX(ins_deelsrtcontrole_key)
max_aantal,
MIN(ins_deelsrtcontrole_key)
min_aantal,
ins_deel_key,
ins_srtcontrole_key,
ins_scenario_key,
EXTRACT(
YEAR FROM ins_deelsrtcontrole_freezedate)
FROM ins_deelsrtcontrole
WHERE ins_deelsrtcontrole_freezedate
IS NOT NULL
AND EXTRACT(
YEAR FROM INS_DEELSRTCONTROLE_FREEZEDATE) =
2023
GROUP BY ins_deel_key,
ins_srtcontrole_key,
ins_scenario_key,
EXTRACT(
YEAR FROM ins_deelsrtcontrole_freezedate))
WHERE aantal > 1) aa
WHERE isc.ins_deel_key = aa.ins_deel_key
AND isc.ins_srtcontrole_key = aa.ins_srtcontrole_key
AND isc.ins_scenario_key = aa.ins_scenario_key
AND isc.ins_scenario_key = 1
AND EXTRACT(YEAR FROM isc.ins_deelsrtcontrole_freezedate) = 2023
AND isc.ins_deelsrtcontrole_key NOT IN
(SELECT min_aantal
FROM ( SELECT COUNT(ins_deelsrtcontrole_key)
aantal,
MAX(ins_deelsrtcontrole_key)
max_aantal,
MIN(ins_deelsrtcontrole_key)
min_aantal,
ins_deel_key,
ins_srtcontrole_key,
ins_scenario_key,
EXTRACT(
YEAR FROM ins_deelsrtcontrole_freezedate)
FROM ins_deelsrtcontrole
WHERE ins_deelsrtcontrole_freezedate
IS NOT NULL
AND EXTRACT(
YEAR FROM INS_DEELSRTCONTROLE_FREEZEDATE) =
2023
GROUP BY ins_deel_key,
ins_srtcontrole_key,
ins_scenario_key,
EXTRACT(
YEAR FROM ins_deelsrtcontrole_freezedate))
WHERE aantal > 1));
------ 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