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
