2

我正在使用动态 SQL,我需要执行一个长 SQL 查询,首先我将带有查询的 @var 声明为 nvarchar(4000),但我的查询长度超过 4000 个字符。我尝试更改为 nvarchar(8000) 但引发不能超过 4000 个字符的异常。

最后,我将 var 声明为 varchar(8000) 并且没有错误发生,但是当我要执行 sp_executeSQL 时会出现错误,并且 sp_executeSQL 需要 ntext/nchar/nvarchar。

如何使用 sp_executeSQL 执行更长的 Sql 查询?谢谢!

我正在使用 Sql Server Express 2005。

4

1 回答 1

4

正如您在 2005 上一样,您最多可以使用declare @var nvarchar(max)10 亿个字符。

您会发现 usingPRINT语句无法查看很长字符串的变量内容,因此您可以这样做

SELECT @var AS [processing-instruction(x)] FOR XML PATH('')

查看未截断的内容。

于 2011-09-16T11:22:15.520 回答