Mailinglisten-Archive |
Am Freitag, 30. April 2004 15:48 schrieb Thorsten Koch: > > Nun setzen wir ein Query ab, welches gleichzeitig mehrere Inserts und > Updates macht, am Ende wollen wir aber die ID eines bestimmten Inserts > zurückbekommen (Beispiel): > > $query="insert into T_x_User (Name, Vorname) VALUES (N'Koch', > N'Thorsten'); declare @draftID int; SET @draftID = @@IDENTITY; insert > into T_x_Adress (UserID, Street, City) values (@@IDENTITY, > 'Vaihingerstr.', 'Stuttgart'); select @draftID as Newid;"; > > > Was wir als Recordset zurückbekommen wollen ist also eine Zelle, in der > die ID steht, die beim ersten INSERT entstanden ist. Leider liefert die > Funktion überhaupt nichts zurück, das Recordset ist schon geschlossen. > Hi, wir hatten mal genau das gleiche Problem, dass die @@IDENTITY Dinge nicht funktionierten. Versuche mal diese query vor dem Insert und nutze das Ergebnis dann in der Insert Query. Anschließend kannst du mit diesem Wert auch weitere Inserts machen die auf dann darauf referenzieren. $query = "select id = newid()"; ... $id = result(); $query="insert into T_x_User (ID, Name, Vorname) VALUES ($id, N'Koch', N'Thorsten')"; Gruß -- Ron Opitz Internet Services DTS Herford 05221-101-1306 ron.opitz at dts.de
php::bar PHP Wiki - Listenarchive