【发布时间】:2014-04-04 17:10:53
【问题描述】:
我试图从这样的存储过程中返回一个逗号分隔的字符串列表:
@Strings NVARCHAR(MAX) OUT
...
DECLARE @Sql NVARCHAR(MAX);
SET @Sql = 'SELECT @Strings = COALESCE(@Strings + '', '','''') + CAST(Name AS NVARCHAR(MAX)) FROM ' + @BlaTableName + ' order by Name'
EXEC sp_executesql @Sql
但我明白了:
必须声明标量变量“@Strings”
有什么想法吗?
【问题讨论】:
-
@Strings超出了sp_executesql的范围内 -
fwiw,通过返回一个集合并在客户端应用程序中创建逗号分隔列表,您将获得更好的结果
标签: sql-server tsql sql-server-2005