动态声明语句SQL Server

时间:2010-09-02 11:21:11

标签: sql sql-server sql-server-2008

我正在使用文本的varchar(MAX)值,但是当我构建庞大的SQL时,它会减少结束。

有什么方法可以创建一个Dynamic Declare语句,然后我可以在执行sql时与其他人一起加入?

e.g。类似的东西:

DECLARE @sSQLLeft + Convertvarchar(4),@index) varchar(MAX)

2 个答案:

答案 0 :(得分:1)

varchar(max)最多大约2GB你确定它会削减结局还是只是当你打印它只显示前几百个字符?

要在SSMS中查看长文本而不截断它,您可以使用此技巧

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

答案 1 :(得分:0)

DECLARE @query VARCHAR(MAX)
DECLARE @query2 VARCHAR(MAX)

-- Do wahtever

EXEC (@query + @query2)

修改

马丁史密斯是对的。您的查询可能会削减打印。这种切割的原因之一是变量或列中的NULL值,它与查询连接并使查询的其余部分为NULL。