AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Variable in SQL

Ein Thema von Kalli · begonnen am 12. Aug 2006 · letzter Beitrag vom 13. Aug 2006
Antwort Antwort
Kalli

Registriert seit: 12. Jun 2003
Ort: Landau i.d. Pfalz
79 Beiträge
 
Delphi 2005 Enterprise
 
#1

Variable in SQL

  Alt 12. Aug 2006, 14:41
Datenbank: DB2 • Version: 7.x • Zugriff über: SQLDirect
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
Karl Josef Ziller
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Variable in SQL

  Alt 12. Aug 2006, 14:53
Geht doch in einem Schritt:

UPDATE VD.BUCHZEILE set Saldo_neu = Saldo_alt + Betrag, Saldo_alt = Saldo_neu
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Variable in SQL

  Alt 12. Aug 2006, 15:45
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
  Mit Zitat antworten Zitat
Kalli

Registriert seit: 12. Jun 2003
Ort: Landau i.d. Pfalz
79 Beiträge
 
Delphi 2005 Enterprise
 
#4

Re: Variable in SQL

  Alt 13. Aug 2006, 07:29
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
Karl Josef Ziller
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 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