sql-server-2005 – sp_executesql或exec(@var)太长.最大长度为8000

我有大量的查询
所以我不能通过规则在生产中使用链接服务器.
我传递一个varchar(max),它有超过8000个字符.

但sp_executesql不支持超过8000个字符,那么我如何执行我的字符串?

最佳答案
nvarchar(max)应该适用于SQL Server 2008或更高版本.如果您之前使用的是某个版本,则可能需要将查询拆分为多个变量:http://social.msdn.microsoft.com/Forums/sqlserver/en-US/c26b1e1e-5900-43da-b462-02b1550bcfc3/how-to-use-sql-string-variable-larger-than-4000-character-in-sql-server-2005-stored-procedure

这有用吗?:

声明@sql nvarchar(max)
set @sql = N’select’CONVERT(NVARCHAR(MAX),REPLICATE(”,8000))”’超过8000个字符限制测试”’
exec sp_executesql @sql

转载注明原文:sql-server-2005 – sp_executesql或exec(@var)太长.最大长度为8000 - 代码日志