[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Apr 2002
    Beiträge
    792
    Huch...ein Problem habe ich da noch. Wenn ich mein Statement

    PHP-Code:
    delete from Bestv/Bestart 
    WHERE
    BEARTN 
    !! BEARTNV !! BELG !! BEFA Not in
    (SELECT FSARTN !! FSARTNV !! FSLG !! FSFA as FSKey From TEMP/TMPFSART

    aus RPG mit embedded SQL aufrufe, bekomme ich immer die Meldung. "Länge der Anweisung überschreitet 32.767 Zeichen."
    Wie kann das sein? Das sind doch nicht mal 100?!

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von JonnyRico
    Huch...ein Problem habe ich da noch. Wenn ich mein Statement

    PHP-Code:
    delete from Bestv/Bestart 
    WHERE
    BEARTN 
    !! BEARTNV !! BELG !! BEFA Not in
    (SELECT FSARTN !! FSARTNV !! FSLG !! FSFA as FSKey From TEMP/TMPFSART

    aus RPG mit embedded SQL aufrufe, bekomme ich immer die Meldung. "Länge der Anweisung überschreitet 32.767 Zeichen."
    Wie kann das sein? Das sind doch nicht mal 100?!
    Das mag jetzt zwar nicht zur Fehlermeldung passen, aber verwende statt !! concat, da !! nicht international ist und evt. auch hier Probleme bereiten könnte!

    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
    Apr 2002
    Beiträge
    792
    Hallo Birgitta,

    danke das mache ich aber leider ist das noch nicht des Rätsels Lösung. Mir ist aber inzwischen aufgefallen, das das bei jedem Delete Statement in embedded SQL passtiert, wo ich eine Where Klausel mit eingeben will. Was mache ich da falsch?

    Gruß

    Sascha

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Die "!" sind bei embedded SQL nicht erlaubt. Die STRSQL setzt die ja um.
    SQL-richtig wäre "||", aber das ist nicht Code-Sicher (CCSID) !
    Deshalb: verwende concat !!!
    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
    Apr 2002
    Beiträge
    792
    Jo,

    hab ich ja gemacht. Nur mein Problem scheint irgendwie das Delete in Embedded SQL zu sein. Wenn ich da eine x-beliebige Where-Klausel einbaue bekomme ich im Prompt schon den Fehler angezeigt

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Schau mal GENAU deine Quelle an:

    c/exex sql
    c+ delete
    c+ ...
    c+ ...
    c/end-exec
    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
    Apr 2002
    Beiträge
    792
    Es sieht genau so aus (Kopie aus Quelle) und es stehen darüber auch noch andere Statements. Da wird nicht gemeckert, aber ich habe es auch schon in einer anderen Quelle mit einem anderen Delete-Statement getestet und ... das selbe Problem

    PHP-Code:
    C/Exec SQL
    C
    delete from Bestv/Bestart WHERE
    C
    BEARTN CONCAT BEARTNV CONCAT BELG CONCAT BEFA Not in
    C
    + (SELECT FSARTN CONCAT FSARTNV CONCAT FSLG CONCAT
    C
    FSFA as Key1 From QTEMP/TMPFSART)
    C/End-Exec 

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Könnte höchsten noch das "as Key1" sein, da das nicht erforderlich ist, kommt der Precompiler vielleicht nicht damit zurecht. Lass es einfach mal weg.
    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
    Apr 2002
    Beiträge
    792
    Guten Morgen,

    autsch! Ich hätte vielleicht einfach mal wieder umwandeln sollen, nachdem ich die Pipes durch Concat ersetzt habe. Die Meldung mit der überschrittenen Länge steht im Prompt des Statements zwar immer noch aber es lässt sich jetzt kompilieren. Also sorry das ich euch damit aufgehalten habe und vielen vielen Dank für die Hilfe. Danke

    Gruß

    Sascha

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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