PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Oracle: automatische Inventur/Archivierung


MeLLe
2006-05-02, 08:46:48
Servus Mädels,

ich habe ein kleines Problem, und hoffe, ihr könnt mir einen Tip geben.

Situation:
Unser Live-Lagerverwaltungssystem hält Bestandsdaten in einer Tabelle XY fest.
Nun besteht der Wunsch, diese Daten in eine auf einem anderen System liegende Datenbanktabelle zu schreiben. Und zwar jeden 1. des Monats um 00:00:00 Uhr. Außerdem soll dabei nicht der im Vormat gesicherte Datenbestand überschrieben, sondern die aktuellen Daten an die Tabelle angehängt werden. Ein zusätzliches Feld "Inventurdatum" trennt dann die jeweiligen Monats-Snapshots.

Idee:
Meine Idee war, das ganze als Materialized View umzusetzen. Im Prinzip funktioniert das auch prächtig - nur die Sache mit dem Anhängen klappt nicht. Statt desses werden die alten Daten gekillt und es finden sich nur die Daten des letzten Snapshots im View wieder. Warum? Und vor allem - wie kann ich die Vorgabe dann umsetzen?

aktueller Code:
CREATE MATERIALIZED VIEW statistics.snp_xy
BUILD DEFERRED
REFRESH COMPLETE
START WITH LAST_DAY(TO_DATE(TO_CHAR(SYSDATE,'ddmmyyyy') || ' 235959', 'ddmmyyyy hh24miss'))
NEXT LAST_DAY(TO_DATE(TO_CHAR(SYSDATE+1,'ddmmyyyy') || ' 235959', 'ddmmyyyy hh24miss'))
WITH PRIMARY KEY
AS (SELECT TO_CHAR(SYSDATE,'ddmmyyyy') AS inventurdatum, a.* FROM tabXY@DB01 a);

Danke!