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

Parámetro de un procedimiento almacenado que se utiliza en un IN

Estas en el tema de Parámetro de un procedimiento almacenado que se utiliza en un IN en el foro de SQL Server en Foros del Web. Hola a tod@s, Tengo un GRAN problema con un procedimiento almacenado, necesito que uno de sus parámetros se utilice en un IN, me refiero a ...
  #1 (permalink)  
Antiguo 30/04/2008, 08:30
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 1 mes
Puntos: 1
Pregunta Parámetro de un procedimiento almacenado que se utiliza en un IN

Hola a tod@s,
Tengo un GRAN problema con un procedimiento almacenado, necesito que uno de sus parámetros se utilice en un IN, me refiero a algo como esto:

SELECT * FROM tabla1
WHERE columna1 IN (@parametro)

Había pensado que @parametro fuera de tipo TABLE y haciendo un

SELECT * FROM tabla1
WHERE columna1 IN (SELECT * FROM @parametro)

la consulta podría funcionar, pero los procedimientos almacenados parace que no admiten tipos TABLE como parámetro.

La información de @parametro no la puedo obtener con una subconsulta así que la tengo que pasar como parámetro pero no tengo ni idea de como.


Me podéis echar una mano?


Gracias y un saludo.
  #2 (permalink)  
Antiguo 30/04/2008, 09:30
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Re: Parámetro de un procedimiento almacenado que se utiliza en un IN

Yo pase por lo mismo. Lo que yo hice fue pasarlo como un varchar, y luego en el SP lo concateno a mi consulta que tendria que ser otra cadena, algo asi:
Código:
@qry = 'SELECT * FROM Marcas '+
'WHERE MarAbv IN ('+@MARCA+') '
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 30/04/2008, 10:37
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 1 mes
Puntos: 1
Re: Parámetro de un procedimiento almacenado que se utiliza en un IN

Hola flaviovich, gracias por responder!

Parece que sí me funciona, el único problema es que también paso parámetros tipo DateTime y supongo que tendré que convertirlos a string para meterlos en el parámetro @qry, aunque supongo que no tendré problemas.

Para completar un poco más el post decir que para ejecutar la consulta que está en el parámetro @qry estoy utilizando:
EXEC sp_executesql @qry

no sé si habrá otra forma pero esa parace que funciona.


Gracias por todo! Un saludo
  #4 (permalink)  
Antiguo 30/04/2008, 10:51
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Re: Parámetro de un procedimiento almacenado que se utiliza en un IN

Si, esa es la forma correcta.
Yo tambien tengo parametro datetime, y pues hay que convertirlos.
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:13.