动态SQL字符长度超过8000【SQL SERVER 2005之完美解决方案】
2011-12-27 22:26
232 查看
动态SQL字符长度超过8000,我记得SQL SERVER 2005中用SP_EXECUTESQL打破了这个限制。
平常用动态SQL,可能都会用EXEC(),但是有限制,就是8000字符串长度。自从SQL SERVER 2005起,在 INSIDE SQLSERVER 2005 T-SQL PROGRAMMING中提到,使用SP_EXECUTESQL()和NVARCHAR(MAX)可以超越8000个字符的限制。因为SP_EXECUTESQL()必须使用NVARCHAR,NCHAR,NTEXT作为参数,所以SP_EXECUTESQL()的最长字符限制就是4000。
我们看一个NVARCHAR(4000)的例子:
如何打破这个限制,我们再看(将SQL字符变量类型设置为NVARCHAR(MAX)):
可以看到,成功执行了SQL字符长度为9999的动态SQL。。
看一个SQL字符超过100000的例子:
字符串长度巨大,我只能将结果保存到RPT文件,可惜的是,我的机器(2.5内存+32位WIN2003)还是不能显示,肯定是资源不够用
平常用动态SQL,可能都会用EXEC(),但是有限制,就是8000字符串长度。自从SQL SERVER 2005起,在 INSIDE SQLSERVER 2005 T-SQL PROGRAMMING中提到,使用SP_EXECUTESQL()和NVARCHAR(MAX)可以超越8000个字符的限制。因为SP_EXECUTESQL()必须使用NVARCHAR,NCHAR,NTEXT作为参数,所以SP_EXECUTESQL()的最长字符限制就是4000。
我们看一个NVARCHAR(4000)的例子:
如何打破这个限制,我们再看(将SQL字符变量类型设置为NVARCHAR(MAX)):
可以看到,成功执行了SQL字符长度为9999的动态SQL。。
看一个SQL字符超过100000的例子:
字符串长度巨大,我只能将结果保存到RPT文件,可惜的是,我的机器(2.5内存+32位WIN2003)还是不能显示,肯定是资源不够用
相关文章推荐
- 动态SQL字符长度超过8000【SQL SERVER 2005之完美解决方案】
- 动态SQL字符长度超过8000
- 动态SQL字符长度超过8000
- sqlserver sp_executesql 动态SQL字符长度超过8000
- 动态SQL字符长度超过8000
- sql server 解决动态字符超过8000的方法
- SQL Server 2005 T-SQL学习笔记:建立动态的PIVOT
- sql server 2005 T-SQL [^](通配符 - 无需匹配的字符)(Transact-SQL)
- sql server 2005 T-SQL binary 和 varbinary (Transact-SQL)固定长度或可变长度的 Binary 数据类型。
- SQL SERVER错误:已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222) 解决方案
- 在SQL Server 2005(2008)中用T-SQL插入中文数据时出现的问号或乱码的解决方案
- asp.net IIS “/”应用程序中的服务器错误 解决方案[sql server 2000和 sql server 2005共存, web.config]
- sql server 2005 T-SQL _(通配符 - 匹配一个字符)(Transact-SQL)
- 动态sql语句超过8000个字符的处理方法
- SQL 处理长度超过8000 的字符串
- sql 2005 "用户 sa 登录失败,该用户与可信SQL Server连接无关联 "解决方案总结
- sql server 2005 T-SQL % (通配符 -- 需匹配的字符)(Transact-SQL)
- 在SQL Server 2005(2008)中用T-SQL插入中文数据时出现的问号或乱码的解决方案
- SQL Server 2005 T-SQL学习笔记:建立动态的PIVOT
- SQL 2005 安装在双CPU服务器,错误代码1053 SQL Server 服务无法启动的解决方案