我正在使用动态SQL,我需要执行一个长SQL查询,首先我将@var与查询声明为nvarchar(4000),但我的查询超过4000个字符。 我尝试更改为nvarchar(8000),但引发的异常不能超过4000个字符。
最后我声明var为varchar(8000)并且没有错误ocurrs,但是当我要执行sp_executeSQL时 sp_executeSQL期望ntext / nchar / nvarchar。
的引发和错误如何用sp_executeSQL执行更长的Sql查询? Thnks!
我正在使用Sql Server Express 2005。
答案 0 :(得分:4)
在2005年,你可以使用declare @var nvarchar(max)
最多10亿个字符。
你会发现使用PRINT
语句不能查看非常长的字符串的变量内容,所以你可以这样做
SELECT @var AS [processing-instruction(x)] FOR XML PATH('')
查看未截断的内容。