Files
Customer/onces/WOHW/WOHW#74696-2.sql
Robin Stoker f65365f1f7 WOHW#74696 -- Verwijderen van foutief ingelezen dubbele taken op elementen
svn path=/Customer/; revision=58851
2023-01-26 15:41:49 +00:00

76 lines
2.4 KiB
SQL

--
-- $Id$
--
-- WOHW herstelactie, verwijderen van dubbele ins_deelsrtcontrole records
--
DEFINE thisfile = 'WOHW#74696-2.SQL'
DEFINE dbuser = '^WOHW'
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
CURSOR c1 IS
SELECT ins_deel_key,
ins_srtcontrole_key,
ins_deel_omschrijving,
ins_srtcontrole_omschrijving,
maxkey, -- Laatst toegevoegde taak, deze is dus verkeerd geimporteerd en moet vewijderd worden
aantal
FROM ( SELECT idsc.ins_deel_key,
idsc.ins_srtcontrole_key,
id.ins_deel_omschrijving,
isc.ins_srtcontrole_omschrijving,
MAX (idsc.ins_deelsrtcontrole_key) maxkey,
COUNT (idsc.ins_deel_key) aantal
FROM ins_deelsrtcontrole idsc, ins_deel id, ins_srtcontrole isc
WHERE idsc.ins_deel_key = id.ins_deel_key
AND idsc.ins_srtcontrole_key = isc.ins_srtcontrole_key
AND idsc.ins_scenario_key = 1
AND EXTRACT (
YEAR FROM COALESCE (
idsc.ins_deelsrtcontrole_datum,
idsc.ins_deelsrtcontrole_freezedate,
idsc.ins_deelsrtcontrole_plandatum)) =
2022
GROUP BY idsc.ins_deel_key,
idsc.ins_srtcontrole_key,
id.ins_deel_omschrijving,
isc.ins_srtcontrole_omschrijving)
WHERE aantal > 1
ORDER BY ins_deel_key;
BEGIN
FOR rec IN c1
LOOP
BEGIN
DELETE FROM ins_deelsrtcontrole
WHERE ins_deelsrtcontrole_key = rec.maxkey;
END;
END LOOP;
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