Einzelnen Beitrag anzeigen

Benutzerbild von Marcel Gascoyne
Marcel Gascoyne

Registriert seit: 18. Nov 2003
Ort: Uetersen
271 Beiträge
 
Delphi 2005 Architect
 
#17

Re: [Interbase] Generatorwert zurücksetzen?

  Alt 14. Feb 2005, 10:23
Zitat von DelphiDeveloper:
exklusiver Zugriff auf Tabelle Nummernkreis anfordern (Lock)
wenn gesperrt warte...
schaue im Numernpool ob noch verwaiste Nr vorliegen
wenn ja hole satz aus nummernpool und loesch ihn dort -> fertig
wenn nix im Nummernpool
hole NEXTNumber aus Nummernkreis, incrementiere um 1 NextNumber in Nummernkreis
exklusiver Zugriff auf Tabelle zureucksetzen (unlock).
Warum nicht einfach so ohne Locking:

SQL-Code:
select NextNumber
from Nummernkreis
where id = 1

update Nummernkreis
set NextNumber = (ergebnis von obigen select + 1)
where nextnumber = (ergebnis von obigen select)
Wenn der Update Part nicht klappt wurde zwischenzeitlich bereits eine Änderung gemacht und man versucht es komplett noch einmal bis es halt klappt.

Gruß,
Marcel
Marcel Gascoyne
Der Fehler sitzt immer vor der Tastatur
  Mit Zitat antworten Zitat