Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
850 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Letzte vergebene Nummer speichern

  Alt 3. Aug 2022, 22:06
Die StoredProcedure könnte "deine" ID in einer Tabelle anfügen. Diese Tabelle hat neben dieser ID-Spalte noch eine normale ID-Spalte, in der ein Integer hochgezählt wird. Die Zeile mit dem höchsten "normalen" ID-Wert enthält dann jeweils deine zuletzt erzeugte "eigene" ID. Alternativ könnte die Tabelle auch ein TimeStamp-Feld enthalten. Alle Datensätze mit einer kleineren ID oder einem kleineren TimeStamp könnten dann immer gelöscht werden, so dass nur der zuletzt erzeugte Datensatz übrig bleibt.
Beides funktioniert im Mehrbenutzerzugriff nicht. Dazu müsste es in der StoredProcedure eine CriticalSection geben. Denn sonst:
Benutzer A hat als erster die ID erzeugt, aber die StoredProcedure noch nicht verlassen. Bei Benutzer B, der nach Benutzer A die StoredProcedure startet ist sie schon durchlaufen und würde dann die ID von B als letzte ID eintragen. Danach würde die ID von A eingetragen werden.
  Mit Zitat antworten Zitat