[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Dec 2015
    Beiträge
    18
    danke für Euren zahlreichen Tips.

    "im übrigen ist es keine besonders gute Idee Updates in UDFs auszuführen.
    "
    -> Tatsächlich mache ich keinen Update in der UDF, sondern einen create table sowie einen insert in eine Log-Datei. Ich erstelle also mit meiner Select Anweisung 792 Tabellen und protokolliere die Create Table-Anweisung in einer Log-File.

    "warum führst Du ein Skript aus
    ?" -> weil ich im ACS-SQL-Skript-Editor schön den Fortschritt beim Abarbeiten der einzelnen Schritte sehe. Oder bei Bedarf kann ich zum Testen auch nur einen oder 3 oder 5 Schritte ausführen. Tolle Funktionalität im ACS :-)

    "Ein select count(*) hilft nicht?"
    -> leider nein, da ich Felder der Tabelle, auf die der Select geht, an die Funktion weiterreiche

    "Schreib' dir eine Stored Procedure oder führe eine dynamsiche Prozedur (BEGIN ... END - und dazwischen SQL-Befehle), in der ein Cursor definiert wird, über den das SQL-Statement komplett verarbeitet wird. Damit sollten dann Deine Funktionen alle ausgeführt werden."
    -> den Cursor lese ich dann per Fetch?

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Ja! Du verarbeitest einen ganz normalen Cursor:
    DECLARE, OPEN, FETCH, CLOSE
    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
    Mar 2002
    Beiträge
    5.379
    Zitat Zitat von JotSo Beitrag anzeigen
    danke für Euren zahlreichen Tips.

    "im übrigen ist es keine besonders gute Idee Updates in UDFs auszuführen.
    "
    -> Tatsächlich mache ich keinen Update in der UDF, sondern einen create table sowie einen insert in eine Log-Datei. Ich erstelle also mit meiner Select Anweisung 792 Tabellen und protokolliere die Create Table-Anweisung in einer Log-File.

    "warum führst Du ein Skript aus
    ?" -> weil ich im ACS-SQL-Skript-Editor schön den Fortschritt beim Abarbeiten der einzelnen Schritte sehe. Oder bei Bedarf kann ich zum Testen auch nur einen oder 3 oder 5 Schritte ausführen. Tolle Funktionalität im ACS :-)

    "Ein select count(*) hilft nicht?"
    -> leider nein, da ich Felder der Tabelle, auf die der Select geht, an die Funktion weiterreiche

    "Schreib' dir eine Stored Procedure oder führe eine dynamsiche Prozedur (BEGIN ... END - und dazwischen SQL-Befehle), in der ein Cursor definiert wird, über den das SQL-Statement komplett verarbeitet wird. Damit sollten dann Deine Funktionen alle ausgeführt werden."
    -> den Cursor lese ich dann per Fetch?
    ... eigentlich brauchst Du da keinen Fetch. Sieh Dir mal das Beispiel in der SQL Reference an:
    BEGIN
    DECLARE fullname CHAR(40);
    FOR vl AS
    c1 CURSOR FOR
    SELECT firstnme, midinit, lastname FROM employee
    DO
    SET fullname =
    lastname || ', ' || firstnme ||' ' || midinit;
    INSERT INTO TNAMES VALUES ( fullname );
    END FOR;
    END;

    Aufpassen must Du mit dem error Handling, das ist etwas hakelig. Ohne Continue Handler düst du da unversehens aus der Stored procedure raus.

    D*B
    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.748
    Das "Blocken" kommt aus der Connection-Eigenschaft des jeweiligen Treibers (außer dem lokalen). Hier kann man die Blocksize erhöhen um die Anzahl Sätze je Block zu vergrößern.
    Deshalb sind es bei kurzen Sätzen mehr Zeilen als bei langen Sätzen.
    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. SELECT INTO .....
    By alex61 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 12-07-16, 10:23
  2. Antworten: 1
    Letzter Beitrag: 10-09-15, 18:33
  3. select into wie fetch next
    By Robi in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 22-05-15, 08:31
  4. Antworten: 2
    Letzter Beitrag: 19-05-15, 11:21
  5. SQL Select
    By TARASIK in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 19-09-02, 11:59

Berechtigungen

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