У меня есть список имен столбцов с разделителями-запятыми, которые я передаю в XML, а затем выбирая. Я хотел бы затем вставить их в входной параметр @selectedRows
, который будет вызываться в хранимой процедуре. Как вы вставляете эти несколько значений в параметр @selectedRows
? Благодаря!Вставить результаты SELECT Statement в SQL input Параметр
Преобразование Comma Список разделителями в XML и выберите:
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)
Это будет в хранимой процедуре:
Select @selectedRows
from Test
where TestField > TestField
Просто предостережение: этот динамический sql является очень точное определение инъекционной атаки, которая должна произойти. –