Hallo,
Danke für die schnelle Rückmeldung. Das hatte ich vorher so und ich dachte es wäre eine gute Idee das gleich in den Trigger einzubauen.

Also nehme ich wieder meine alte function.
bedenke bei deiner eigenen Funktion das ggf 2 transaktionen nahezu gleichzeitig eine nummer brauchen könnten und wenn du
dann den wert einer tabelle ausliest, diesen per update um 1 erhöht zurüschreiben willst, kann es je nach anzahl der user im
Netz dazu führen, das es ein deadlock gibt. auch einfach max ermitteln und eins höher zurückschreiben ist im netztwerk betrieb
sehr anfällig und dazu noch wird das erst beim kunden selbst im praxiseinsatz irgendwann mal passieren.
reale geschichte aus der vergangenheit: schlecht implementierte software beim kunden lief geichzeitig von 2 clients je einen
lieferschein an und aufgrund eines fehler ähnlich wie da oben haben die am ende zwar 2 lieferschein köpfe in den tabellen,
dummerweise waren aber auf einem davon gar keine positionen, auf dem anderen jedoch alle inkl welche die nix mit dem endkunden
zu tun hatten. Das fiel erst abends auf als ein Mitarbeiter der Kommissionierung mit dem leeren lieferschein zur IT kam und fragt
was das wohl sollte. Die datenprüfung zeigte, das ein LKW mit dem LS unterwegs war, der schon sachen abgeladen hatte, die bei dem
Endkunden nix zu suchen hatten.
Das passierte das erste mal nachdem die software schon ca ein jahr im Einsatz war. Ich war consultant bei denen für eine andere
software, hatte das dann aber mit denen zusammen schnell analysiert und die ursachen lokalisiert.
denk am besten immer an worst case, dann wirst du nicht negativ überrascht
in Firebird ist das per Generator einfach lösbar aber nur als eindeutige werte, lückenlos muss man anders machen, geht aber eigentlich
auch einfach.