选择与临时表

时间:2017-12-02 12:35:13

标签: sql sql-server-2008

我试图从我的临时表列中选择不同的值到sql server中的varchar变量。

我试过跟随,但它不起作用。

DECLARE @GuidPrimaryTableSpace NVARCHAR(MAX);

SET @GuidPrimaryTableSpace = '';

SELECT DISTINCT
       @GuidPrimaryTableSpace = @GuidPrimaryTableSpace+DeleteGuidStatement+';'+CHAR(13)+CHAR(10)
FROM ##Purge_GuidForeignKeyTablePurgeStatements;

请帮助!

1 个答案:

答案 0 :(得分:1)

我建议使用XML方法进行字符串连接:

SELECT @GuidPrimaryTableSpace =
           STUFF((SELECT DISTINCT ';' + CHAR(13) + CHAR(10) + DeleteGuidStatement
                  FROM ##Purge_GuidForeignKeyTablePurgeStatements
                  FOR XML PATH (''), TYPE
                 ).value('.', 'NVARCHAR(MAX)'
                        ), 1, 3, ''
                )
FROM ##Purge_GuidForeignKeyTablePurgeStatements;

如果使用子查询,则可以使用您的方法:

DECLARE @GuidPrimaryTableSpace NVARCHAR(MAX);

SET @GuidPrimaryTableSpace = '';

SELECT @GuidPrimaryTableSpace = @GuidPrimaryTableSpace + DeleteGuidStatement + ';' + CHAR(13) + CHAR(10)
FROM (SELECT DISTINCT DeleteGuidStatement
      FROM ##Purge_GuidForeignKeyTablePurgeStatements
     ) t;