为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】: 8 【操作系统】:win10 【CPU】: i7 8750h 【问题描述】*: 在使用jdbc的过程中,如果在sql中出现over分析函数,并且over分析函数中带有IN参数占位符,那么执行 PrepareStatemnet stmt = conn.prepareStatement(sql); 会报无效的数据类型的错误。 如下图所示:
PrepareStatemnet stmt = conn.prepareStatement(sql);
报错如下:
create table test as select * from( select ‘1’ id ,‘aa’ name from dual union all select ‘2’ id ,‘bb’ name from dual );
declare i int; begin execute immediate ’ select a.*, lag(name,1,?) over (order by id desc) lag from test a ’ using i; end;
–管理工具里面试试
create table test as select * from(
select ‘1’ id ,‘aa’ name from dual union all
select ‘2’ id ,‘bb’ name from dual
);
declare
i int;
begin
execute immediate ’
select a.*,
lag(name,1,?) over (order by id desc) lag
from test a ’ using i;
end;
–管理工具里面试试