Oracle多值查询参数个数限制

编辑
文档创建者:axing (73248 )     浏览次数:2199次     编辑次数:2次     最近更新:caixiaolan 于 2017-07-12     

目录:

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


附件列表


主题: 参数应用
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: