Oracle多值查询参数个数限制

  • 文档创建者:axing
  • 编辑次数: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

    附件列表


    主题: 参数应用
    • 有帮助
    • 没帮助
    • 只是浏览