页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

系统函数解决问题:ORA-01795maximum number of expression in a list is 1000

1 概述

需求:
基于ORACLE 数据库建立查询的时候,会碰到这样的问题:
ORA-01795maximum number of expression in a list is 1000
导致这个问题的原因是因为SQL语句中用到了IN字句,结果IN中的元素个数超过了1000导致了这个错误。
实现方案
开发一个系统函数Process1000LimitOfIn("字段", 树或下拉参数),让其输出
(字段 in (list1) or 字段 in (list2))
函数有两个参数:
第一个参数:字段名,如果是可视化,直接拖字段,如果是原生sql最好用英文双引号括起来,如"table1.A"
第二个参数:smartbi的多选树或下拉框参数,直接拖参数即可

2 自定义函数

自定义函数的设置方法见wiki示例:
(系统函数——自定义函数)
https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=21954994

2.1 编写自定义系统函数类Process1000LimitOfIn

...