ORA-01795:列表中的最大表达式数为1000

Vol*_*yer 4 c# arrays stringbuilder

在c#中,我们正在为NHibernate构建一个包含"in语句"的查询.表达式的数量超过5000.如果我执行查询,我会收到错误.

我需要找到一种方法来打破大型字符串构建器并将它们存储在字符串构建器数组中,并在需要时执行多个查询以获得所需的输出.我们只有一个帐户拥有超过5000条记录,其余的都低于100.有人可以提出解决方法吗?

lok*_*ori 6

我用的解决方案是分裂INOR.

where A in (a,b,c,d,e,f)
Run Code Online (Sandbox Code Playgroud)

where (A in (a,b,c) OR a in (d,e,f)) ...
Run Code Online (Sandbox Code Playgroud)

这很简单,对查询格式没有特殊要求.

在我看来,这比在其他一些建议的解决方案中更容易在您的stringbuilder(SQLQuerybuilder或其他情况下调用)中实现.