历史版本1 :Oracle多值查询参数个数限制 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1.描述编辑
在进行数据查询的时候,如果使用的数据库是Oracle的话,可能会遇到参数个数限制的问题。具体的报错信息是:错误代码:1301 数据集配置错误Query:ORA-01795: 列表中的最大表达式数为 1000,如下图:
2.实现原理编辑
Oracle查询语句中,可以使用or关键字替换in关键字实现同样的功能。如:
select * from table where id in (1,2,3,4)
可以被改写成:select * from table where id=1 or id=2 or id=3 or id=4
另外,也可以通过自定义函数解决此问题,详细可查阅:SubSection函数-Oracle查询参数个数限制
3.实现步骤编辑
1)编写查询sql
编写查询语句sql,sql中直接使用“=”号,不用使用in关键字。
select * from table where id=${id}
2)配置下拉框数据字典
根据项目实际情况配置数据字典,我这里使用的是公式自动生成的1到1001的id值。
3)配置分隔符
将分隔符设置为 or id=,勾选下面的返回字符串。注意:or的前面有空格
4)查询成功
预览页面,点击查询,成功返回数据。
4.备注编辑
若参数是字符串类型,则sql写成select * from table where id='${id}',分隔符设置成‘ or id='