Hallo allerseits,
ich möchte mit Delphi eine Schnittstelle zu einem Clipper/xBase-Programm schreiben. Diese Schnittstelle soll neue Aufträge zu den bestehenden Aufträgen erzeugen.
Beim Erzeugen einer neuen Auftragsnummer komme ich in einen Konflikt mit dem bisherigen Auftragsprogramm. Das Alt-Programm hat eine eigene Tabelle, in der die nächste zur Verfügung stehende Auftragsnummer gespeichert ist. Wenn das Alt-Programm einen neuen Auftrag schreibt, so sperrt es diesen Datensatz, liest das Feld 'Auftragsnummer', erhöht den Wert für Auftragsnr um +1, speichert den Datensatz und gibt ihn wieder frei.
Wie kann ich dies aber mit
SQL abbilden, wenn ich vermeiden will, dass parallel das Alt-Programm auf diese Daten schreibt?
Dies sind zwei Arbeitsschritte, in denen das Alt-Programm genau dazwischen funken kann.
SQL-Code:
Select [auftragsnr] From Basis_Tabelle
// und //
Update Basis_Tabelle
Set [auftragsnr] = [auftragsnr] + 1
Hat jemand eine Idee?
Gruß,
Peter