无效的SQL语法CLI0118E
问题描述:
我试图执行以下查询并获取无效的SQL语法错误 。 [IBM] [CLI驱动程序] 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
答
如果您在存储过程执行这个,试试这可能会有帮助,取出新行字符和 空间分隔参数。 或者以其他方式尝试升级.......
答
如果您尝试此查询其更好?
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
你的子选择和dt_lst_updt> =(子选择)必须返回一行,我认为现在不适用。 – Esperento57
这是从应用程序调用的查询,而不是存储过程。你能解释一下吗?删除新行字符并用空格分隔参数 – Sona
关闭你的查询编辑器,然后重新打开你的编辑器然后尝试执行。 –
我关闭了我的快速sql,并重新打开并在新的查询编辑器中执行,但仍然出现相同的错误。 – Sona