Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Enviar lista de parametros a un Stored Procedure

Estas en el tema de Enviar lista de parametros a un Stored Procedure en el foro de Bases de Datos General en Foros del Web. Hola, Como estan? Mi pregunta es la siguiente: Como entro por parametro un conjunto de elementos Varchar para usarlos en un in dentro de un ...
  #1 (permalink)  
Antiguo 13/01/2005, 07:30
 
Fecha de Ingreso: abril-2004
Ubicación: Medellin, colombia
Mensajes: 83
Antigüedad: 20 años, 8 meses
Puntos: 0
Enviar lista de parametros a un Stored Procedure

Hola, Como estan?
Mi pregunta es la siguiente: Como entro por parametro un conjunto de elementos Varchar para usarlos en un in dentro de un stored procedure.
Ejem: select * from Tabla where campo in (@parametro)

@parametro = 'A','B','C'

Gracias por la atencion prestada
__________________
Juan Esteban Giraldo Gomez
El querer es poder
  #2 (permalink)  
Antiguo 13/01/2005, 11:54
 
Fecha de Ingreso: abril-2002
Ubicación: Montevideo
Mensajes: 98
Antigüedad: 22 años, 8 meses
Puntos: 0
en el store procedure usa lo siguiente

DECLARE @a as nvarchar(1000)

SET @a = 'select * from Tabla where campo in (' + @parametro + ')'
exec sp_executesql @a

el parámetro del sp @paramtro debería tener valor 'A,B,C'

Espero sirva, saludos,

jsaviola
  #3 (permalink)  
Antiguo 13/01/2005, 15:58
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 8 meses
Puntos: 25
Dependiendo del tipo de problema, es probable que no te sirva el "..IN (' @parametro +').."

Quiza te sirva mejor el tener esos datos en en forma de tabla, o de alguna otra forma mas perzonalizada. Te dejo este par de links que probablemente te ayuden (el de "curse and blessings" es lectura obligada para todo programador de T-SQL)

http://www.sommarskog.se/arrays-in-sql.html
http://www.sommarskog.se/dynamic_sql.html
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:27.