历史版本2 :Oracle多值查询参数个数限制 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

 在进行数据查询的时候,如果使用的数据库是Oracle的话,可能会遇到参数个数限制的问题。具体的报错信息是:错误代码:1301 数据集配置错误Query:ORA-01795: 列表中的最大表达式数为 1000,如下图:
222

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. 实现步骤编辑

3.1 编写查询sql

编写查询语句sql,sql中直接使用“=”号,不使用关键字in。

select * from table where id=${id}

3.2 配置下拉复选框数据字典

根据项目实际情况配置数据字典,我这里使用的是公式自动生成的1到1001的id值。

222

3.3 配置分隔符

将分隔符设置为 or id=,勾选下面的返回字符串。

注:or的前面有空格。
222

3.4 查询成功

预览页面,点击查询,成功返回数据。
222

4. 备注编辑

若参数是字符串类型,则sql写成select * from table where id='${id}',分隔符设置成' or id='
222