在存储过程中,我必须有一个最大大小的varchar
变量。
declare @a varchar(max)
这适用于SQL Server 2005 \ 08 \ 12,但它在2000上不起作用。
我不需要存储过程在SQL Server 2000上运行,我只需要编译该指令而不会出错。
我认为可能的解决方案是:
declare @SqlText nvarchar(100) set @SqlText = 'declare @a varchar(max)'
exec sp_executesql @SqlText
但是这样,如果我尝试使用变量@A
编译,我会得到一个错误,说我必须声明变量@a。
有没有可能的解决方案?
答案 0 :(得分:0)
SQL Server 2000不支持VARCHAR(MAX)
,但您可以使用SQL Server 2012(和2014)仍然支持的TEXT
。它将是removed in the future,但它现在适合你。
DECLARE @a TEXT