...Die einzige praktikable Lösung die ich kenne... ist eine Hilfstabelle mit den entsprechenden Nummern(-Kreisen) wo sich der Server vor dem "Post" automatisch die nächste Nummer holt und die zuletzt vergebene Nummer wieder zurückschreibt.
Ist doch fein.
Code:
UPDATE NummernKreise
SET Nummer = Nummer + 1
WHERE NummernKreisPK = :MyNummernKreis
RETURNING Nummer INTO :NeueNummer
Geht das so?
Und wenn man diese Zeile entsprechend
innerhalb der Transaktion lockt, dann reißt es bei einem Rollback auch keine Löcher in
den Käse die Folge.
Aufpassen muss man allerdings, wenn man (beim Buchen nicht ungewöhnlich)
innerhalb einer Transaktion jeweils für zwei Konten eine fortlaufende Zahl benötigt. Dann muss man dass in einem Rutsch anfordern (oder wenigstens den Lock anfordern), sonst kann es in dieser Situation zu einem Deadlock kommen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)