Files
Customer/onces/PCHA/PCHA#52230.sql
Arthur Egberink 28b2b7ac1e PCHA#52230 -- Verwijderen objecten ivm inspecties
svn path=/Customer/; revision=36965
2018-02-13 15:04:00 +00:00

89 lines
2.4 KiB
SQL

--
-- $Id$
--
-- Verwijdere dubbele objecten bij inspecties
DEFINE thisfile = 'PCHD#52230.sql'
DEFINE dbuser = 'PCHA'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
DECLARE
CURSOR c
IS
SELECT *
FROM (SELECT (SELECT COUNT (*)
FROM ins_deelsrtcontrole dsc
WHERE dsc.ins_deel_key = d.ins_deel_key)
aantal,
d.*
FROM ins_v_deel_gegevens d
WHERE ins_discipline_key IN (521,
522,
523,
524,
525,
526,
527)) -- groeipad exploitatie
ORDER BY ins_discipline_key, ins_srtgroep_key, aantal DESC, ins_srtdeel_key;
v_srtgroep_key NUMBER;
v_deel_key NUMBER;
BEGIN
v_srtgroep_key := -1;
v_deel_key := -1;
FOR rec IN c
LOOP
IF v_srtgroep_key <> rec.ins_srtgroep_key
THEN
UPDATE ins_srtdeel
SET ins_srtdeel_omschrijving = rec.ins_srtgroep_omschrijving
WHERE ins_srtdeel_key = rec.ins_srtdeel_key;
v_srtgroep_key := rec.ins_srtgroep_key;
UPDATE ins_deel
SET ins_deel_omschrijving = rec.ins_srtgroep_omschrijving
WHERE ins_deel_key = rec.ins_deel_key;
v_deel_key := rec.ins_deel_key;
ELSE
UPDATE ins_deelsrtcontrole
SET ins_deel_key = v_deel_key
WHERE ins_deel_key = rec.ins_deel_key;
DELETE ins_deel
WHERE ins_deel_key = rec.ins_deel_key;
DELETE ins_srtdeel
WHERE ins_srtdeel_key = rec.ins_srtdeel_key;
END IF;
END LOOP;
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