我有大量查询,所以我不能按规则在生产中使用链接服务器。我通过了一个varchar(max)
超过 8000 个字符的。
但sp_executesql
不支持超过 8000 个字符,那么我该如何执行我的字符串?
我有大量查询,所以我不能按规则在生产中使用链接服务器。我通过了一个varchar(max)
超过 8000 个字符的。
但sp_executesql
不支持超过 8000 个字符,那么我该如何执行我的字符串?
nvarchar(max)
应该适用于 SQL Server 2008 或更高版本。
这行得通吗?:
declare @sql nvarchar(max)
set @sql = N'select' + CONVERT(NVARCHAR(MAX),REPLICATE(' ', 8000)) + ' ''Above 8000 character limit test'''
exec sp_executesql @sql
如果您使用的是之前的版本,则可能需要将查询拆分为多个变量:
您是否尝试过声明类似
declare @var_1 nvarchar(4000);
declare @var_2 nvarchar(4000);
.
.
.
declare @var_n nvarchar(4000);
所以你做这样的事情
exec(@var_1 + @var_2 + ....+ @var_n)
希望这会帮助你