--
-- $Id$
--
-- Opruimscript voor WEB_USER_MESSAGES-tabel.
-- Om - totdat oorzaak structureel is opgelost - regelmatig toe te passen.
-- We verwijderen ze per dag om de transacties niet al te groot te maken.
-- Daarbij beginnen we 200 dagen terug, ervanuitgaande dat je dit script
-- echt wel eens per halfjaar draait (en er een halfjaar geleden nog geen
-- probleem was.

DEFINE thisfile = 'RWSN#52950.sql'
DEFINE dbuser   = '^RWSN'

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

SET SERVEROUTPUT ON SIZE UNLIMITED;

SELECT COUNT(*) FROM web_user_messages;

DECLARE
   dag   NUMBER (10);
BEGIN
   FOR dag IN REVERSE 0 .. 200
   LOOP
      DBMS_OUTPUT.put_line (TO_CHAR (SYSDATE, 'HH24:MI:SS') || ' Dag: ' || TO_CHAR (SYSDATE - 60 - dag, 'DD-MM-YYYY'));

      DELETE FROM web_user_messages
            WHERE web_user_mess_action_datum < SYSDATE - 60 - dag;
      COMMIT;
   END LOOP;
END;
/

SELECT COUNT(*) FROM web_user_messages;

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