在Oracle SQL中,查询中AND子句的最大数量是多少?

Cof*_*fee 0 sql oracle boundary oracle11g

更多的是一个好奇的问题..研究SQL,我想知道AND子句的最大数量是多少:

WHERE condition1
AND condition2
AND condition3
AND condition4
...
AND condition?
...
AND condition_n;
Run Code Online (Sandbox Code Playgroud)

即最大的可能性是什么n?似乎由于这些比较琐碎,所以将限制提高了。到达极限前能走多远?

src

Jus*_*ave 5

实际上,没有限制。

大多数工具都会限制它们可以处理的SQL语句的长度。但是,如果您想深入了解杂草,可以使用该dbms_sql软件包,该软件包接受varchar2(4000)包含单个SQL语句的集合。那将使您最多2 ^ 32 * 4000字节。如果我们假设每个条件至少为10个字节,则将合理的上限设为400 * 2 ^ 32,这大约是8000亿个条件。如果您要达到的目标接近,那说明您确实在做错什么。大多数工具在此之前都会有限制。

当然,如果确实使用创建了最大的SQL语句dbms_sql,则该SQL语句将需要约16万亿字节。一条需要16 TB存储空间的SQL语句可能会引起其他问题...