2012-04-05 36 views
25

¿Cómo recorrer la lista separada por comas en SQL? Tengo una lista de identificación y necesito pasar estos ID a un procedimiento almacenado. NO PUEDO alterar el procedimiento almacenado. Necesito averiguar cómo ejecutar el SP para cada identificación. Dame algunas ideas, puedo continuar desde allí.Lista separada por comas en SQL

Gracias.

+2

¿Quieres llamar al procedimiento almacenado para cada ID por separado? ¿En qué idioma trabajas fuera de SQL? – n8wrl

+0

Si no puede modificar el almacenado, ¿por qué no lo llama varias veces? – Soader03

+1

¿Qué versión de SQL Server? – Yuck

Respuesta

62
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 

prueba la SE de datos: Walk the string

+0

¡Eso es rápido! ¡gracias! – Virus

+1

+1 para el enlace. Marcado :) –

+1

+1 para el enlace. Muy bueno – brian

Cuestiones relacionadas