![]() |
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 |
Re: Variable in SQL
Geht doch in einem Schritt:
SQL-Code:
UPDATE VD.BUCHZEILE set Saldo_neu = Saldo_alt + Betrag, Saldo_alt = Saldo_neu
|
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 |
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 04:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz