[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... 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/

  2. #2
    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

  3. #3
    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...

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  5. #5
    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?

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... 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/

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    @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

  9. #9
    Registriert seit
    Sep 2004
    Beiträge
    136
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Ggf. reicht hier dann auch ein:

    exec sql set : MyLastIdentity = IDENTITY_VAL_LOCAL();

    der Precompiler macht das draus
    PHP-Code:
      //****ql set :last_id = IDENTITY_VAL_LOCALE(); 
     
    /END-FREE 
    C                   Z
    -ADD     -4            SQLER6 
    C                   CALL      SQLROUTE 
    C                   PARM                    SQLCA 
    C                   PARM                    SQL_00000
    C     SQL_00003     IFEQ      
    '1' 
    C                   EVAL      LAST_ID SQL_00005 
    C                   END 
     
    /FREE 
    kann ich mich da auch dran klemmen?

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nein, leider nicht.
    Der Precompiler generiert ein integriertes SQL-Paket und ruft mit verschiedenen Parametern die Ausführung auf.
    Wenn du mehrere SQL-Befehle verwendest und dann die Auflösung betrachtest, siehst du, dass sich die Parameter ggf. verändern.
    Die Aufrufe selber sind leider nicht dokumentiert und auch für CLI gibt es keine Entsprechungen für "set"-SQL's.
    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
    Sep 2004
    Beiträge
    136
    Schade wäre auch zu schön gewesen,
    na dann löse ich das Problem vor erst mal mit dem Dummy Select.

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
  •