2016-12-27 8 views
0

以下のクエリを実行し、無効なSQL構文エラー を取得しようとしています。 [IBM] [CLI Driver] CLI0118E SQL構文が無効です。 SQLSTATE = 37000(37000、-99999)。それはドライバのアップグレードとは関係ありませんか?それはしばらく前にうまくいきました。ご意見をお聞かせください。前もって感謝します。無効なSQL構文CLI0118E

select a.name_task as nameTask, a.cd_sts as cdSts, a.desc_err_msg as 
       statusDesc 
      from task_log a,(
       select id_bus_procss, name_task , id_run, 
      max(dt_lst_updt) as dt_lst_updt from task_log 
       where id_run = '1' 
       and id_bus_procss = '14' 
       and name_task in ({0}) 
       and dt_lst_updt >= (
     select dt_evnt_sts from 
          sf_evntflow_sts 
         where id_run = '1' and 
        id_evntflow ='15' 

        and cd_evnt_sts in (''CLN'',''RTY'') 
         ) 
       group by id_bus_procss, name_task, id_run) 
       X 
      where a.dt_lst_updt = X.dt_lst_updt 

答えて

0

ストアドプロシージャでこれを実行している場合、これは、助け改行文字を削除し、 スペースによってパラメータを分離することができるお試しください。 それ以外の場合はアップグレードしてください...

+0

これは、ストアドプロシージャとしてではなく、アプリケーションから呼び出されるクエリです。新しい行の文字を削除し、スペースでパラメータを区切ります。 – Sona

+0

クエリエディタを閉じてエディタを開き、実行してみてください。 –

+0

私はrapid SQLをシャットダウンし、新しいクエリーエディタで再度開いて実行しましたが、同じエラーが表示されます。 – Sona

0

select a.name_task as nameTask, a.cd_sts as cdSts, a.desc_err_msg as statusDesc 
from task_log a, 
(select b.id_bus_procss, b.name_task , b.id_run, max(b.dt_lst_updt) as dt_lst_updt 
    from task_log b inner join sf_evntflow_sts c on b.id_run=c.id_run and c.id_evntflow ='15' 
    and c.cd_evnt_sts in (''CLN'',''RTY'') and b.dt_lst_updt >=c.dt_evnt_sts 
    where b.id_run = '1' and b.id_bus_procss = '14' and b.name_task in ({0}) 
    group by b.id_bus_procss, b.name_task, b.id_run 
) as X 
where a.dt_lst_updt = X.dt_lst_updt 
+0

上記のクエリに何か問題はありますか?数日前までうまくいきました。 – Sona

+0

あなたのsubselectとdt_lst_updt> =(副選択)は1行を返さなければならず、今はそうではないと思います。 – Esperento57