PDA

View Full Version : SQL update mit order by



Robi
22-05-03, 11:38
Hi *all,
ich muß ein SQL update mit order by machen. D.h. eine Datei muß nach einer Datumsreihenfolge upgedatet werden.
Begründung : Auf der Datei liegt ein Trigger, der bis erreichen eines Datums (Heute + 15 Tage) Summen nach Datei A schreibt, ab dann nach Datei b.
Der Trigger hällt bei Tagesbuchungen z.b. mit Datumsänderungen beide Dateien auf Stand. Um 00.00 Uhr stimmt's dann nicht mehr, daher der SQL-Update.
Gibt's da eine Chance ??

Danke,Robi

Fuerchau
22-05-03, 12:25
Einen Update mit "Order by" gibts leider nicht. Ich verstehe aber dein Problem nicht, da du ja eine Where-Klausel definieren und in der du den Bereich genau einschränken kannst.

Als Alternative kann ich nur mein Tool SQLCPY anbieten, mit dem du Sätze selektierst und sortierst und gezielt mittels Schlüssel updaten kannst.

Näheres kannst du unter www.fuerchau.de (http://www.fuerchau.de) erfahren.

Robi
22-05-03, 13:48
Hmm,
Die Where Klausel hilft m.e. nicht.
Die Buchung nach Datei A bzw. B entscheidet sich nach Datumsbetrachtung und Wert-betrachtung (Kreditlimmitprüfung innerhalb eines definierten Zeitraums). Der Update muß also in Datumsfolge sein.
gibt's die Möglichkeit über die Where -Klausel versteckt ein order by auszuführen a la ... where exsists (select * from ... where a.xxx = b.xxx order by ...) ??
Robi

[Dieser Beitrag wurde von Robi am 22. Mai 2003 editiert.]

Fuerchau
22-05-03, 14:14
Leider nein, da der Subselect zwar sortierbar ist aber pro Update-Satz durgeführt wird, hilft es nicht weiter.

Wenn du aber in der where-Klausel eine Bedingung definierst, die genau einem Zugriffspfad entspricht, ist es "wahrscheinlich", dass die gewünschte Folge erreicht wird, da der Optimizer versucht über den Zugriffspfad zu gehen.

Ansonsten hilft nur noch: Programmierung oder mein SQLCPY.