我想知道我可以发送到SQL Server的UNION SELECT语句的数量是否受到限制?在一条SQL语句中,我最多可能要完成36个操作,因此它变得相当长,从字符角度来看。(而且,其中每个带有ASE WHEN语句的SELECT语句本身都有些复杂。)
从SQL 2008 BOL
“ Transact-SQL语句中可以出现任意数量的UNION运算符”
同样来自MSDN “ SQL Server的最大容量规范”(2008):
批次大小(1) 65,536 *网络数据包大小
包含SQL语句的字符串的长度(批量大小)(1) 65,536 *网络数据包大小
(1)网络数据包大小是用于在应用程序和关系数据库引擎之间进行通信的表格数据流(TDS)数据包的大小。默认数据包大小为4 KB,由网络数据包大小配置选项控制。
我认为,使用默认值时,这意味着268,435,456字节。请说您的查询比这短。