Im Rahmen eines kaufmännischen Projektes habe ich eine StoredProc geschrieben, die eine Belegnummer aus einer NUMMERN-Tabelle holt, um eins erhöht, wegschreibt und zurückgibt. Die Procedure sieht im Prinzip wiefolgt aus.
DECLARE @LFDNR INTEGER;
DECLARE @NEWNR INTEGER;
@LFDNR=(SELECT LastNummer from NUMMERN);
@NEWNR=@LFDNR+1;
UPDATE NUMMERN SET LastNummer=@NewNR;
INSERT INTO __Output (FNUMMER) Values (@NewNr);
Mein Problem ist, daß im Netz ( insgesamt 8 User) es sporadisch dazu kommt, daß zwei Benutzer die gleiche Nummer zurück bekommen. Im Programm selbst wird die Procedure in der BeforeInsert-Methode des AdsTable-Objektes aufgerufen.
Mir ist nicht ganz klar wo ich ansetzen soll um das Problem zu lösen ? Benutzt wird der ADS 8.1.
DECLARE @LFDNR INTEGER;
DECLARE @NEWNR INTEGER;
@LFDNR=(SELECT LastNummer from NUMMERN);
@NEWNR=@LFDNR+1;
UPDATE NUMMERN SET LastNummer=@NewNR;
INSERT INTO __Output (FNUMMER) Values (@NewNr);
Mein Problem ist, daß im Netz ( insgesamt 8 User) es sporadisch dazu kommt, daß zwei Benutzer die gleiche Nummer zurück bekommen. Im Programm selbst wird die Procedure in der BeforeInsert-Methode des AdsTable-Objektes aufgerufen.
Mir ist nicht ganz klar wo ich ansetzen soll um das Problem zu lösen ? Benutzt wird der ADS 8.1.
Comment