30

如何遍历 SQL 中的逗号分隔列表?我有一个 ID 列表,我需要将这些 ID 传递给存储过程。我不能更改存储过程。我需要弄清楚如何为每个 id 执行 SP。给我一些想法,我可以从那里继续。

谢谢。

4

1 回答 1

89
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 数据:走字符串

于 2012-04-05T15:48:23.967 回答