[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2008
    Beiträge
    70

    Question

    In dem Zusammenhang INSERT u. FINAL TABLE eine Frage, ob unter V7R1 das mit Update bzw. Delete funktioniert?
    Mein Test hat ergeben, dass es scheinbar nur bei INSERT mit FINAL TABLE bzw. NEW TABLE funktioniert. Lieg ich dabei richtig?

    Code:
    -- Insert (mehrere Zeilen + Rückgabe)
    SELECT * FROM FINAL TABLE(
     INSERT INTO kunden VALUES (DEFAULT, 'M44', 'MÜLLER', 'M', 'Herr', DEFAULT, DEFAULT, DEFAULT),
          (DEFAULT, 'M45', 'MEYER', 'M', 'Herr', DEFAULT, DEFAULT, DEFAULT)
    )
    ORDER BY INPUT SEQUENCE;
    
    -- UPDATE (m. V7R1 n. unterstützt)
    SELECT * FROM OLD TABLE(
     UPDATE kunden SET NAME = 'MICHAEL' WHERE IDKD=36
    );
    
    -- DELETE, gelöschte Sätze anzeigen (m. V7R1 n. unterstützt)
    SELECT * FROM OLD TABLE(
     DELETE FROM kunden WHERE IDKD = 34)
    );
    Mfg

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    FINAL TABLE ist nur für Insert zulässig

    Hier ein Auszug aus der SQL Referenz:
    FINAL TABLE
    Specifies that the rows of the intermediate result table represent the set of rows
    that are inserted by the SQL data change statement as they appear at the
    completion of the data change statement. If there are AFTER INSERT triggers
    or referential constraints that result in further changes to the inserted rows of
    the table that is the target of the data change statement, an error is returned
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da du sowohl für Update als auch Delete die Daten doch kennen musst, macht die FINAL TABLE hier überhaupt keinen Sinn.
    Was soll denn die FINAL TABLE z.B. beim Delete liefern, da die Daten dann doch weg sind?
    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

  4. #4
    Registriert seit
    Sep 2008
    Beiträge
    70

    Exclamation

    Freilich, deswegen hatte ich ja noch ein konkretes Beispiel mit DELETE sowie eines mit UPDATE (s.o.) aufgelistet:

    Code:
    SELECT * FROM OLD TABLE(
     DELETE FROM kunden WHERE IDKD = 34)
    Meine Frage war eher dahingehend, ob OLD Table unterstützt wird oder ob das wieder nur ein Feature für die "richtige" DB2 oder zOs etc. ist?

    Beispiel hier z.B.: http://it.toolbox.com/blogs/db2luw/s...statement-7239

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Schau in die Doku des SQL (V7R3). Hier findest du NEW/FINAL TABLE nur beim Insert.
    OLD TABLE findest du nur bei SQL-Triggerdefinitionen.
    M.a.W: OLD TABLE beim Update/Delete ist nicht realisiert.
    Vielleicht wirds ja irgendwann mit TRx/V8R1...
    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

  6. #6
    Registriert seit
    Sep 2008
    Beiträge
    70
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Schau in die Doku des SQL (V7R3). Hier findest du NEW/FINAL TABLE nur beim Insert.
    Hatte ich gemacht, hoffte aber darauf, dass ich mich nur versehen habe und es doch möglich ist. Leider aber nicht.
    Danke für die zwei schnellen Auskünfte!

Similar Threads

  1. insert 32768
    By Armin in forum NEWSboard Programmierung
    Antworten: 17
    Letzter Beitrag: 19-12-14, 12:07
  2. SQL V5R4 Insert into
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 10-10-14, 08:13
  3. SQL: Sortierung individuell nach einer Werte-Tabelle
    By bie-dro in forum NEWSboard Programmierung
    Antworten: 18
    Letzter Beitrag: 08-09-14, 20:26
  4. Tabelle aus QSYS.LIB nach QDLS kopieren
    By TARASIK in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 26-03-03, 10:03
  5. SQL insert mit variable
    By Robi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 21-03-03, 09:16

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •