[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    136

    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?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Nein, da gibt es leider keine Möglichkeit.
    Hier musst du selber aktiv werden und ber Select die ID's herausfinden.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    IDENTITY_VAL_LOCAL() ist dein Freund

    D*B

    Zitat Zitat von Xanas Beitrag anzeigen
    Hallo,

    gibt es für V5R4 eine Möglichkeit die automatisch generierte ID des gerade eingefügten Datensatzes zurück zu bekommen?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Nunja, wie "sicher" ist die Funktion ?
    Könnte ja auch der Insert eines anderen Job's sein.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... 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 Zitat von Fuerchau Beitrag anzeigen
    Nunja, wie "sicher" ist die Funktion ?
    Könnte ja auch der Insert eines anderen Job's sein.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Sep 2004
    Beiträge
    136
    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

  7. #7
    Registriert seit
    Sep 2004
    Beiträge
    136
    Zitat Zitat von Xanas Beitrag anzeigen
    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...

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ggf. reicht hier dann auch ein:

    exec sql set : MyLastIdentity = IDENTITY_VAL_LOCAL();
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Sep 2004
    Beiträge
    136
    Zitat Zitat von Fuerchau Beitrag anzeigen
    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?

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da hast du wohl leider Pech gehabt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... 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 Zitat von Xanas Beitrag anzeigen
    ich benutze keine Embedded SQL an der Stelle sondern das QSQPRCED API, kann man das evtl. auch über EXECUTE direkt ausführen?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    @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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. SQL Insert in schleife
    By Robi in forum IBM i Hauptforum
    Antworten: 20
    Letzter Beitrag: 16-03-09, 10:32
  2. SQL: Insert bei NULL
    By woki in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 31-10-06, 10:21
  3. SQL Insert: Zeichenbegrenzung???
    By Deficiency in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 13-01-06, 09:00
  4. SQL Insert
    By Deficiency in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 01-12-05, 11:22
  5. SQL - eindeutige ID für Satz ?
    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
  •