View Full Version : SQL Last Insert ID
Hallo,
gibt es für V5R4 eine Möglichkeit die automatisch generierte ID des gerade eingefügten Datensatzes zurück zu bekommen?
Nein, da gibt es leider keine Möglichkeit.
Hier musst du selber aktiv werden und ber Select die ID's herausfinden.
IDENTITY_VAL_LOCAL() ist dein Freund
D*B
Hallo,
gibt es für V5R4 eine Möglichkeit die automatisch generierte ID des gerade eingefügten Datensatzes zurück zu bekommen?
Nunja, wie "sicher" ist die Funktion ?
Könnte ja auch der Insert eines anderen Job's sein.
... die function liefert die letzte erzeugte ID innerhalb des Jobs, (wahrscheinlich sogar des letzten inserts innerhalb der Activation Group = Connection) und tut damit in den meisten Fällen (außer Bulk inserts) das, was sie soll und was man von ihr will.
D*B
Nunja, wie "sicher" ist die Funktion ?
Könnte ja auch der Insert eines anderen Job's sein.
Jaaaa coool, so was hab ich gesucht. Zur Verwendung noch eine Frage.
Also INSERT absetzen und dann
SELECT IDENTITY_VAL_LOCAL() FROM table FETCH FIRTS 1 ROWS ONLY
oder geht das schon direkt beim Insert?
Gruß
Xanas
Jaaaa coool, so was hab ich gesucht. Zur Verwendung noch eine Frage.
Also INSERT absetzen und dann
SELECT IDENTITY_VAL_LOCAL() FROM table FETCH FIRTS 1 ROWS ONLY
oder geht das schon direkt beim Insert?
Gruß
Xanas
Oh hab gerade gemerkt, das der Select auf irgend einen Table gehen kann...
Ggf. reicht hier dann auch ein:
exec sql set : MyLastIdentity = IDENTITY_VAL_LOCAL();
exec sql set : MyLastIdentity = IDENTITY_VAL_LOCAL();
ich benutze keine Embedded SQL an der Stelle sondern das QSQPRCED API, kann man das evtl. auch über EXECUTE direkt ausführen?
Da hast du wohl leider Pech gehabt.