89 lines
2.4 KiB
SQL
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 |