将SELECT语句的结果插入SQL输入参数

时间:2015-08-11 20:45:05

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

我有一个以逗号分隔的列名列表,我将其转换为XML然后选择。我想将这些插入到./malloroid.py -f test.apk输入参数中,该参数将在存储过程中调用。如何将这些多个值插入@selectedRows参数?谢谢!

将逗号分隔列表转换为XML并选择:

@selectedRows

这将在存储过程中:

DECLARE @xml as xml,@string as varchar(1000),@delimiter as varchar(10)
SET @string='Column1,Column2,Column3,Column4,Column5'
SET @delimiter =','
SET @xml = cast(('<X>'+replace(@string,@delimiter ,'</X><X>')+'</X>') as xml)
SELECT N.value('.', 'varchar(25)') as value FROM @xml.nodes('X') as T(N)

1 个答案:

答案 0 :(得分:0)

你不需要拆分以逗号分隔的列名字符串,但你需要使用动态sql这样的东西....

Declare @Sql NVarChar(Max);
Declare @string VarChar(1000) = 'Column1,Column2,Column3,Column4,Column5';

SET @Sql = N' SELECT ' + @string 
         + N' From Test '
         + N' where TestField > TestField'

Exec sp_executesql @Sql