BIP报表开发陷阱之传递所有值与传递NULL值

使用Oracle BI Publisher开发报表的时候,筛选条件可以设置为多选,并且如果全选了可以以“传递了NULL值”或者“传递了所有值”这两种形式传给后台。如下图1所示:

传递了所有值

图1:传递了所有值

强烈建议不要选择“传递了所有值”,为什么呢,看下面的解释:

1、传递了NULL值

在选择了“传递了NULL值”的情况下,如果条件选择了全部,那么就会传递一个null给后台,那么此时,只需要加一条xxxx is null or xxxx in (params)即可。

2、传递了所有值

在选择了“传递了所有值”的情况下,如果条件选择了全部,那么会传递所有的值给后台,如果此时值并不是很多的情况下,是不会出现问题的,但是值一多,就会发现有报错了。这个值的限度是多少呢,由于oracle数据库中IN的限制是不能超过1000个值,所以,当超过1000,就会报错IN中的值超过了1000。

综上,BIP报表开发的时候,选择全选的传递模式要慎重考虑,另外,在写SQL语句的时候,也要慎重考虑IN的用法。

本文标题:BIP报表开发陷阱之传递所有值与传递NULL值

本文链接:http://yedward.net/?id=183

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章