Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Variable in SQL (https://www.delphipraxis.net/75009-variable-sql.html)

Kalli 12. Aug 2006 14:41

Datenbank: DB2 • Version: 7.x • Zugriff über: SQLDirect

Variable in SQL
 
Hallo,
folgendes Problem:
In einem Datensatz sind die Felder Saldo_alt, Betrag, Saldo_neu.

Da ich entgegen allen Buchungsrichtlinien erlaube, die Datensätze zu ändern, muss ich natürlich die Salden neu berechnen.
Kann man den Saldo_Neu in einem SQL-Script zwischenspeichern und im nächsten Satz als Saldo_Alt einseten, bzw auf den Saldo-neu des letzten Datensatzes zufreifen?

UPDATE VD.BUCHZEILE set Saldo_neu = Saldo_alt + Betrag, {???? Saldo_alt im nächsten Satz = Saldo_neu}


Mir fällt im Moment mal nichts dazu ein.

Kalli

Jelly 12. Aug 2006 14:53

Re: Variable in SQL
 
Geht doch in einem Schritt:

SQL-Code:
UPDATE VD.BUCHZEILE set Saldo_neu = Saldo_alt + Betrag, Saldo_alt = Saldo_neu

marabu 12. Aug 2006 15:45

Re: Variable in SQL
 
Hallo Kalli,

du verletzt noch eine Konvention: Salden werden nicht gespeichert, sondern nur berechnet. Ansonsten musst du bei einer Änderung alle chronologisch nachfolgenden Datensätze korrigieren. Eine solche Korrektur machst du zweckmäßigerweise in einer Prozedur unter Verwendung eines Cursors und einer Hilfsvariablen.

Grüße vom marabu

Kalli 13. Aug 2006 07:29

Re: Variable in SQL
 
Hi,
Danke für die Antworten.

@Jelly

Dass mann mehrere Felder in einem Satz ändern kann ist mir klar. Es geht darum, ein Ergebnis aus einem Datensdatz in den nächsten zu schreiben oder bei in dem Update auf eine Vatiable aus zuzugreifen, die ich im letzten Rechengang (innerhalb der SQL-Anweisung) gesetzt habe.

@marabu
Genau das ist mein Problem, das ich mir mit der "Bequemlichkeit" eingehandelt habe.
Kannst Du mir zum Cursor und der Hilfsvariablen nen Tipp geben?

Kalli


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz