我试图从我的临时表列中选择不同的值到sql server中的varchar变量。
我试过跟随,但它不起作用。
DECLARE @GuidPrimaryTableSpace NVARCHAR(MAX);
SET @GuidPrimaryTableSpace = '';
SELECT DISTINCT
@GuidPrimaryTableSpace = @GuidPrimaryTableSpace+DeleteGuidStatement+';'+CHAR(13)+CHAR(10)
FROM ##Purge_GuidForeignKeyTablePurgeStatements;
请帮助!
答案 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;