Список разделенных запятыми в SQL

Как перебрать через запятую список в SQL? У меня есть список ID, и мне нужно передать эти ID в хранимую процедуру. Я НЕ МОЖЕТ изменить хранимую процедуру. Мне нужно выяснить, как выполнить SP для каждого идентификатора. Дайте мне некоторые идеи, я могу продолжать оттуда.

Спасибо.

Ответ 1

declare @S varchar(20)
set @S = '1,2,3,4,5'

while len(@S) > 0
begin
  --print left(@S, charindex(',', @S+',')-1)
  exec YourSP left(@S, charindex(',', @S+',')-1)
  set @S = stuff(@S, 1, charindex(',', @S+','), '')
end

Попробуйте данные SE: Пройдите строку