动态SQL字符长度超过8000【SQL SERVER 2005之完美解决方案】
2010-07-14 20:39
267 查看
动态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
- 动态SQL字符长度超过8000
- sqlserver sp_executesql 动态SQL字符长度超过8000
- sql server 解决动态字符超过8000的方法
- SQL 处理长度超过8000 的字符串
- SQL 处理长度超过8000 的字符串
- 动态执行超过4000个字符的SQL
- sql server 2005 T-SQL [^](通配符 - 无需匹配的字符)(Transact-SQL)
- sql server 2005 T-SQL binary 和 varbinary (Transact-SQL)固定长度或可变长度的 Binary 数据类型。
- 密码最短长度为7,其中必须包含以下非字母数字字符1 完美解决方案
- SQL 2005 安装在双CPU服务器,错误代码1053 SQL Server 服务无法启动的解决方案
- sql server 2005 T-SQL _(通配符 - 匹配一个字符)(Transact-SQL)
- SQL Server 2005 T-SQL学习笔记:建立动态的PIVOT
- SQL SERVER错误:已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222) 解决方案
- Sql Server 2005 UNION ALL查询的排序无效的完美解决方案
- sql 2005 "用户 sa 登录失败,该用户与可信SQL Server连接无关联 "解决方案总结
- 动态sql语句超过8000个字符的处理方法
- sql server 存储过程 拼接SQL 超过8000