-- Customer specific once-script ARAI.
--
-- (c) 2013 SG|facilitor bv
-- $Revision$
-- $Id$
--
-- Support: +31 53 4800700
--
-- Meetwaarden opruim script.
-- Hetzelfde als ARAI#25591 maar dan gewoon met een delete
-- Om regelmatig toe te passen.
-- We verwijderen ze per week om de transacties niet al te groot te maken
-- Daarbij beginnen we een jaar terug, er van uitgaande dat je dit script
-- echt wel eens per jaar draait.
-- Reken op zo'n 5 minuten om 1063733 records terug te brengen tot 287947
-- (2 maand data)

SET ECHO ON
SPOOL ARAI25591b.lst
SET DEFINE OFF
SET SERVEROUTPUT ON SIZE UNLIMITED;

SELECT COUNT(*) FROM ins_kenmerkdeel;

DECLARE
   week      NUMBER (10);
BEGIN
    FOR week IN REVERSE 0 .. 52
      LOOP
        DBMS_OUTPUT.put_line (TO_CHAR(SYSDATE, 'HH24:MI:SS') || ' Week: ' || TO_CHAR (week));
        DELETE
          FROM ins_kenmerkdeel ikd
         WHERE ins_kenmerkdeel_aanmaak < SYSDATE - 30 - 7 * week -- Filteren op alle records die weg moeten
               AND ins_kenmerkdeel_verwijder IS NOT NULL
               AND EXISTS
                     (SELECT 1
                        FROM ins_kenmerk ik, ins_deel idd
                       WHERE     ikd.ins_kenmerk_key = ik.ins_kenmerk_key
                             AND ikd.ins_deel_key = idd.ins_deel_key
                             AND ik.ins_kenmerk_meetwaarde = 1);
        COMMIT;
      END LOOP;
END;
/
SELECT COUNT(*) FROM ins_kenmerkdeel;

BEGIN adm.systrackscript('$Workfile: ARAI#25591b $', '$Revision$', 1); END;
/
SPOOL OFF
