我正在使用带有SSRS 2008的Oracle SQL。
从我的Web应用程序中,我以列表的形式传递参数。此列表包含主键(整数)。
示例:
Select * From TablePerson
Where PersonID in (:PersonID);
我遇到的问题是我的:PersonID
参数中包含大约1700个ID。 Oracle将列表限制为仅1000个值并给出错误
消息:ORA-01795:列表中的最大表达式数为1000
是否可以将此:PersonID
参数划分为两个相等的一半(:PersonID1和:PersonID2),这样我可以让我的sql说:
Select *
From TablePerson
Where PersonID in (:PersonID1) or PersonID in (:PersonID2);
最终,我试图将原始参数列表拆分为SQL脚本中的两个相等的一半,这样它们中的值都少于1000个。