andreasgrothe
Goto Top

Oracle Datenbank - Daten hinzufügen

Hallo zusammen,

folgender Sachverhalt:

Wir haben unser ERP System auf einer Oracle Datenbank (9).
Um die Daten zu extrahieren (Abfragen schneller machen) haben wir mit sqlplus eine Tabelle Verdichtung angelegt

Schritt 1: Jetzt wollen wir bestimmte Felder einer Tabelle in eine andere tabelle schreiben.
Schritt 2: Beim zweiten Lauf soll er schauen wo hat sich etwas verändert und die werte dann in die Tabelle schreiben.
Wenn gleich, dann sollte nichts passieren. Sprich nur aktualisierte Daten sollen dann in der Tabelle Verdichtung ankommen.

Wie könnte man dies mit einer Art Script automatisch realisieren lassen.

Danke

Content-Key: 85044

Url: https://administrator.de/contentid/85044

Printed on: April 24, 2024 at 16:04 o'clock

Member: Biber
Biber Apr 09, 2008 at 08:11:37 (UTC)
Goto Top
Moin AndreasGrothe,

das ist ja noch ein wenig zu abstrakt, um die nächsten Schritte festzuklopfen.

Mir ist unklar:
haben wir mit sqlplus eine Tabelle Verdichtung angelegt

Jetzt wollen wir bestimmte Felder einer Tabelle in eine andere tabelle schreiben.

Haben diese beiden Aussagen etwas miteinander zu tun?

Außerdem gehen BEIDE Massnahmen in Richtung doppelte/redundante Datenspeicherung.
Da wird Dir auch kein anderer DB-Halbwissender ohne Rückfragen ein SQL-Statement zusammenbraten.

Anforderung 1 ist eher was für einen Materialized View und Anforderung 2 ist, wenn es nur um Spalten geht, die unaggregiert "kopiert" werden sollen, vollkommen Bullsh^H^H^H... überflüssig.

Grüße
Biber
Member: AndreasGrothe
AndreasGrothe Apr 09, 2008 at 08:19:05 (UTC)
Goto Top
Hallo Biber,

okay ich geb es zu war ein wenig abstrakt. face-smile

Wir haben das Problem das in einer Tabelle in unserem ERP System viele Informationen sind die wir für Auswertungszwecke nicht benötigen.
Nun möchten wir nur die von uns benötigten Informationen (z.B. Umsatz eines Artikels x im Monat y) in eine seperate Tabelle "kopieren".
beim zweiten ausführen muss geschaut werden, ob es den Datensatz schon in der neuen Tabelle existiert wenn nicht hinzufügen wenn ja ändern bzw. so lassen wenn gleich ist.
Es geht hier darum die Auswertugnen zu beschleunigen, da unser System schon sher groß ist und alles etwas träge wird mit der Zeit. face-sad Es geht auch in Richtung Management Inforamtion System. Da wir kein Tool haben behelfen wir uns nun mit Access. face-sad

Mit SQLplus hatten wir die neue Tabelle erstellt.
Hoffe es ist jetzt etwas klarer was wir wollen.
Member: Biber
Biber Apr 09, 2008 at 08:58:38 (UTC)
Goto Top
Moin AndreasGrothe,

Nun möchten wir nur die von uns benötigten Informationen (z.B. Umsatz eines Artikels x im Monat y) in eine seperate Tabelle "kopieren".
Dann mal Butter bei die Fische, wie wir bei uns sagen...

z.B Umsatz eines Artikels x im Monat y
Das ist ja als Pseudocode ein SELECT auf die Original-ERP-Tabelle
Select Artnr, jahrmonat, sum(preis*anzahl) group by ArtNr, Jahrmonat from ERPel1
ergänzt um die Prüfung, ob es die ArtNr/JahrMonats-Kombination schon in der verdichteten Tabelle gibt:
Where Artnr||jahrmonat not in (Select Artnr||jahrmonat from ERPelAggr
... und das ganze dann per INSERT oder meinetwegen SELECT INTO in die ERPelAggr schreiben.
Oder eine 15-Zeilen-PL/SQL-StoredProcedure dafür schreiben... läuft ja serverseitig.

Tja, wie konkret sind denn Tabellen/Feldnamen/Datenmodell nun da?
Oder wollen wir noch ein bisschen allgemein meditieren?

Grüße
Biber
Member: AndreasGrothe
AndreasGrothe Apr 09, 2008 at 09:16:16 (UTC)
Goto Top
Hallo biber,

danke. Muss jetzt mal testen.