Letzte INSERT id mit IDENTITY_VAL_LOCAL() auslesen
- Dieses Thema hat 1 Antwort und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 18 Jahre, 9 Monaten vonMitglied.
- AuthorPosts
- 3. September 2004 um 8:49 Uhr #2448
Hallo, ich stehe nun vor dem Problem, das letzte durch INSERT generierte ID auszulesen. Meine Schnittstelle zur DB2 ist PHP via ODBC. Ich frage mich, wie sicher denn das Ganze mit IDENTITY_VAL_LOCAL() gewährleistet werden kann?
Was passiert, wenn zwischen meinem INSERT und der Abfrage der ID noch andere INSERTs (von anderen Prozessen auf dem Web-Server) ausgeführt wurden? Bekomme ich dann die ID von "meinem" INSERT (script-/prozesstechnisch gesehen) oder die vom zeitlich zuletzt ausgeführten INSERT? Könnte die Benutzung von odbc_pconnect() (persistente Verbindung) Probleme machen?
Auch zum korrekten SQL-Syntax habe ich eine Frage. Diese Query scheint zu funktionieren:
VALUES IDENTITY_VAL_LOCAL()
Sie gibt in der Spalte mit dem Index "0" den gesuchten Wert zurück. Da die DB2 SQL Reference nicht viel über VALUES-Queries verrät, ist mir der Sinn dieser Query so nicht ganz klar. Wie kann ich diese Query z.B. so ändern, dass ich den Namen der Spalte des Result Set beeinflussen kann. Irgendwie so was geht leider nicht:
SELECT IDENTITY_VAL_LOCAL() AS INSERT_ID FROM ???
Danke Euch für die Hilfe!
3. September 2004 um 10:27 Uhr #2923Ein
SELECT IDENTITY_VAL_LOCAL() AS INSERT_ID FROM SYSIBM.SYSDUMMY1
müsste aber funktionieren
- AuthorPosts
You must be logged in to reply to this topic.