客户现场应用报错,根据日志发现报错是执行一个sql导致,抓取此SQL进行分析。
select
a.BH F_BH,
max(sfa.RT) RT_READ
from TAB_TEST a
inner join TAB_TEST b on a.F_BH = b.F_BH
where a.F_CODE IN (‘111’,‘222’) and a.USR_ID IN (‘1’,‘2’)
group by a.F_CODE
union all
select ‘0’ F_BH, ‘0’ RT_READ from dual;
执行失败(语句1)
引用列未找到
分析
分析发现
select max(sfa.RT) RT_READ #数字
union all
select ‘0’ #字符串
修改脚本后,执行成功
select
a.BH F_BH,
max(sfa.RT) RT_READ
from TAB_TEST a
inner join TAB_TEST b on a.F_BH = b.F_BH
where a.F_CODE IN (‘111’,‘222’) and a.USR_ID IN (‘1’,‘2’)
group by a.F_CODE
union all
select ‘0’ F_BH, 0 RT_READ from dual; #改成数字类型
由此问题引起的报错,解决方法如下:
sp_set_para_value(1, ‘VIEW_FILTER_MERGING’, 29);
执行此方式可以绕过此报错问题。
文章
阅读量
获赞