我使用动态SQL,我需要执行一个长SQL查询,首先我声明@var查询为nvarchar(4000),但我的查询长于4000个字符。我尝试更改为nvarchar(8000),但引发一个异常,不能超过4000个字符。
最后我声明var为varchar(8000),没有错误发生,但当我去exe sp_executeSQL抛出sp_executeSQL期望一个ntext/nchar/nvarchar.
我如何执行一个更长的Sql查询与sp_executeSQL ?感谢!
Sql Server Express 2005
在2005年,您可以使用declare @var nvarchar(max)
最多10亿个字符。
您将发现使用PRINT
语句无法查看非常长的字符串的变量内容,因此您可以使用
SELECT @var AS [processing-instruction(x)] FOR XML PATH('')