Nur um es besser zu verstehen:
Wieso hast Du �berhaupt eine Nummer-Tabelle? Wieso nimmst Du nicht
einfach das maximum+1 der schon angelegten Nummern und f�gst damit in
der Tabelle was neues ein? Und wieso l�sst Du die Nummer nicht sich
selbst hochz�hlen?

Claudius

> Ich bin mir nicht sicher, ob das mein Problem l�st?
> Oder ich hab dein Beispiel nicht richtig verstanden!?
> 
> Ich muss doch zuerst den letzte Belegnummer aus der Tabelle 
> NUMMERN lesen.
> Dann 1 addieren und mit der neuen Nummer einen Datensatz anlegen.
> Erst wenn dieser Datensatz erfolgreich in der DB eingef�gt ist,
> kann ich das Update auf die Tabelle Nummern machen.
> Sonst habe ich u.U. die Belegnummer hochgez�hlt ohne sie auch 
> tats�chlich
> vergeben zu haben.
> 
> Aber da bringt mich nat�rlich auf das n�chste Problem: was, 
> mach ich, wenn
> ich
> den Datenbanksatz erfolgreich einf�gt habe und dann das Update auf
> die NUMMERN-Tabelle nicht erfolgreich ist???
> 
> In deinem Beispiel wird doch das Update auf die NUMMERN-Tabellen nicht
> gemacht, oder?
> 
> Joahnnes.
> 
> 
> > -----Urspr�ngliche Nachricht-----
> > Von: Claudius Ceteras [mailto:[EMAIL PROTECTED]]
> > Gesendet: Freitag, 27. September 2002 10:18
> > An: AspGerman Kaffeehaus
> > Betreff: [aspdecoffeehouse] RE: Insert/Update
> >
> >
> > Man k�nnte versuchen �ber transactionen und entspechenden locks auf
> > tabellenebene das zu l�sen, aber ich w�rde versuchen das �ber ein
> > subselect beim insert zu machen...
> > Etwa so:
> >
> > Insert into tabelle values((select max(id)+1 from tabelle),2,3,"4")
> >
> > Claudius
> >
> > > -----Original Message-----
> > > From: Johannes C. Laxander [mailto:[EMAIL PROTECTED]]
> > > Sent: Donnerstag, 26. September 2002 20:42
> > > To: AspGerman Kaffeehaus
> > > Subject: [aspdecoffeehouse] Insert/Update
> > >
> > >
> > > Hallo,
> > >
> > > ich habe folgende Aufgabenstellung:
> > >
> > > Es Soll ein Datenbanksatz neu angelegt werden, in dem
> > > eine fortlaufend vergebene Beleg-Nr. enthalten ist.
> > > Diese Belegnummer m�chte ich �ber eine Tabelle NUMMERN
> > > ermitteln, indem ich auf den aktuellen Wert 1 addiere
> > > und somit die neue Beleg-Nr. bekomme.
> > >
> > > Nun muss ich ja aber auch sicherstellen, dass ein Update
> > > auf die Tabelle NUMMERN erst dann ausgef�hrt wird,
> > > wenn der neue Datenbanksatz ordnungsgem�� angelegt wurde,
> > > der Insert also ohne Fehler war. Gleichzeitig darf ja
> > > kein anderer Benutzer "dazwischenfunken".
> > >
> > > Gibt es so was wie ein "sperren eines Dantenbanksatzes",
> > > oder wie w�rdet ihr die Aufgabe l�sen?
> > >
> > > Johannes.
> > >
> > >
> > > | [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed
> > > | http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
> > > | Sie k�nnen sich unter folgender URL an- und abmelden:
> > > |
> > > http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffee
> > house.asp
> >
> >
> > | [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed
> > | http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
> > | Sie k�nnen sich unter folgender URL an- und abmelden:
> > | 
> http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffee
house.asp
>
>


| [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
|
http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp


| [aspdecoffeehouse] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp

Antwort per Email an