Datenabgleich zwischen 2 Tabellen

11/11/2008 - 15:07 von rk10059 | Report spam
Hallo Newsgroup

Ich muss für Anwender Berichte zur Verfügung stellen.
Zu diesem Zweck bereite ich die Produktiv-Daten mittels View auf und
importiere diese in unser Datawarehouse.
Die Daten schreibe ich in eine Temp-Tabelle, die vor jedem Import
leere.
Der Import erfolgt jede Stunde und beinhaltet derzeit ca 4 Mio
Datensàtze, Tendenz steigend.
Die Berichte selbst setzen auf eine eigene Tab-Tabelle auf.
Um keine "leeren" Berichte zu generieren, möchte ich die Tab-Tabelle
nicht leeren, sondern
nur allfàllige Änderungen schreiben.
Bei neuen Auftràgen ist das ja kein Problem:
( insert into ... where AuftrNr not in (select distinct AuftrNr from
tab.. )
Das Problem liegt bei jenen Auftràgen, die in der Tab-Tabelle schon
vorhanden sind, bei denen sich aber ein oder mehrere Datumfelder oder
der Status geàndert hat.
Gibt es eine Möglichkeit, diese Änderungen zu erkennen und möglichst
rasch zu aktualisieren?

Herzlichen Dank für Eure Hilfe
Kiepetz Rudolf
 

Lesen sie die antworten

#1 Jürgen Volke
11/11/2008 - 15:15 | Warnen spam
Hallo Rudolf,


**********************************************
Ich muss für Anwender Berichte zur Verfügung stellen.
Zu diesem Zweck bereite ich die Produktiv-Daten mittels View auf und
importiere diese in unser Datawarehouse.
Die Daten schreibe ich in eine Temp-Tabelle, die vor jedem Import
leere.
Der Import erfolgt jede Stunde und beinhaltet derzeit ca 4 Mio
Datensàtze, Tendenz steigend.
Die Berichte selbst setzen auf eine eigene Tab-Tabelle auf.
Um keine "leeren" Berichte zu generieren, möchte ich die Tab-Tabelle
nicht leeren, sondern
nur allfàllige Änderungen schreiben.
Bei neuen Auftràgen ist das ja kein Problem:
( insert into ... where AuftrNr not in (select distinct AuftrNr from
tab.. )
Das Problem liegt bei jenen Auftràgen, die in der Tab-Tabelle schon
vorhanden sind, bei denen sich aber ein oder mehrere Datumfelder oder
der Status geàndert hat.
Gibt es eine Möglichkeit, diese Änderungen zu erkennen und möglichst
rasch zu aktualisieren?
**********************************************

ungefàhr so:

UPDATE A set F1=B.F1, F2 = B.F2
FROM Tabelle1 as A inner join Tabelle2 as B
ON A.Id = B.Id

HTH Jürgen

Ähnliche fragen