-
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
Zitat von Xanas
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
Zitat von Fuerchau
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
-
Zitat von 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();
-
Zitat von Fuerchau
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.
-
... sagt mir jetzt aus dem Ärmel erst mal nix, aber der Dummy Select geht schon, dafür gibts extra eine Table, die per constraint nur einen Satz hat:
select ... from sysibm.sysdummy1
D*B
Zitat von Xanas
ich benutze keine Embedded SQL an der Stelle sondern das QSQPRCED API, kann man das evtl. auch über EXECUTE direkt ausführen?
-
@Dieter
Das API entspricht i.W. dem CLI für C/C++ ist nur ungleich komplizierter.
Selbst embedded SQL mit Prepare, Execute und USING SQLDA ist da erheblich einfacher.
Similar Threads
-
By Robi in forum IBM i Hauptforum
Antworten: 20
Letzter Beitrag: 16-03-09, 10:32
-
By woki in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 31-10-06, 10:21
-
By Deficiency in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 13-01-06, 09:00
-
By Deficiency in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 01-12-05, 11:22
-
By sim in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 23-12-04, 09:48
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks