--
-- $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