Oracle多值查询参数个数限制

编辑
  • 文档创建者:axing
  • 浏览次数:6989次
  • 编辑次数:5次
  • 最近更新:Kevin-s 于 2019-06-03
  • 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

    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

    此页面有帮助吗?只是浏览 [ 去社区提问 ]