[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    1.975

    fetch for 1000 Rws only

    Hi *all

    Ich hab eine Dateierstellung via CREATE TABLE in ein STRQM Source gepackt.
    Das sieht ungefähr so aus
    PHP-Code:
    create table qtemp/DATEI   as(          
    with a as (select ...  from ...
                  
    where ... ),
           
    as (select ... from ...
                  
    where ... )
    select ... from ... where ...
    fetch first 1000  rows only 
    with data 
    Syntayprüfung sagt: ok
    Kopie der Source in eine interaktive SQL Sitzung: ok

    strqmqry:
    PHP-Code:
     Nachrichten-ID . . . . :   SQL0199       Bewertung  . . . . . . :   30         
     Nachrichtenart 
    . . . . :   Diagnose                                            
     Sendedatum 
    . . . . . . :   09.03.15      Sendezeit  . . . . . . :   14:49:15   
                                                                                    
     Nachricht 
    . . . :   Schlüsselwort FETCH nicht erwartetGültige Token: ) UNION 
       EXCEPT
    .                                                                      
     
    Ursache  . . . . :  Schlüsselwort FETCH wurde an dieser Stelle nicht erwartet
       
    Im Schlüsselwort FETCH wurde ein Syntaxfehler erkannt. Die Teilliste         
       gültiger Token ist 
    UNION EXCEPTBei dieser Liste wird vorausgesetztdass 
       
    die Anweisung bis zum unerwarteten Schlüsselwort richtig istDer Fehler     
       liegt möglicherweise an anderer Stelle der Anweisung
    , die Syntax scheint     
       aber bis zu dieser Stelle korrekt zu sein
    .                                   
     
    Fehlerbeseitigung:  Die SQL-Anweisung im Bereich des angegebenen               
       Schlüsselworts untersuchen
    Möglicherweise fehlt ein Doppelpunkt oder ein    
       SQL
    -BegrenzerBei SQL müssen reservierte Wörter begrenzt werdenwenn sie   
       als Namen verwendet werden sollen
    . Die SQL-Anweisung korrigieren und die 
    Das Statement enthält natürlich einige Variablen wie &JAHR oder &STATUS
    aber wie gesagt... Sysntaxprüfung und interaktiv ist alles ok
    Hat einer ne Idee

    Danke
    Robi

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ggf. musst du das nochmal schachteln:

    create table qtemp/DATEI as(
    with a as (select ... from
    ...
    where
    ... ),
    b as (select ... from
    ...
    where
    ... )
    select * from (
    select
    ... from ... where
    ...
    fetch first 1000 rows only
    ) c
    ) with data
    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
    Jun 2001
    Beiträge
    1.975
    Hat geklappt,
    manchmal ist es schon sehr kompliziert mit der Kiste.

    Danke

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Manchmal muss SQL überlistet werden.
    Beim "CREATE TABLE AS ..." scheint SQL nur alle Daten zu wollen.
    Daher ist die Einschränkung wieder in eine "Derived Table" zu verlegen.
    "Fetch first 1 rows only" hilft mir schon manchmal bei scalaren Subselects die sonst mehr als 1 Zeile liefern könnten. Dies musste ich früher mittels "Group by" einschränken was allerdings zu mehr Zugriffen als nötig führte.
    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. Brauche Hilfe zu FETCH xxx USING DESCRIPTOR
    By AndreasH in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 08-05-15, 13:09
  2. Antworten: 7
    Letzter Beitrag: 24-04-14, 10:00

Berechtigungen

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