50 lines
1.5 KiB
SQL
50 lines
1.5 KiB
SQL
-- 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
|