Foros del Web » Programando para Internet » ASP Clásico »

Pasar parámetro múltiple a SP.

Estas en el tema de Pasar parámetro múltiple a SP. en el foro de ASP Clásico en Foros del Web. Pongámonos en antecedentes. Tengo un procedimiento almacenado en una BD SQL server 2005, el cúal contiene una claúsula where que quiero llenar de la siguiente ...
  #1 (permalink)  
Antiguo 02/07/2010, 02:12
 
Fecha de Ingreso: junio-2010
Mensajes: 68
Antigüedad: 13 años, 10 meses
Puntos: 1
Pasar parámetro múltiple a SP.

Pongámonos en antecedentes.

Tengo un procedimiento almacenado en una BD SQL server 2005, el cúal contiene una claúsula where que quiero llenar de la siguiente manera:

where campo1 in ('valor1','valor2','valor3')

Los valores especificados quiero que sean un parámetro del procedimiento quedando:

where campo1 in (@valores)

Ahora vienen mis problemas.

Para hacer esto lo que intento es construirme en el SP una string con el texto de la consulta, luego ya la ejecutaré.

Desde asp le estoy pasando un parámetro que es valores, lo que me pasa es que no se como pasárselo para que SQL reconozca que es un listado de variables varchar porque al tener que poner ' para tiparlo, piensa que le estoy pasando varios parámetros.

La llamada al procedimiento es:

rs.open "miProcedimientoAlmacenado '"&valores&"'",cn

A ver si podéis ilustrarme en como hacer esto.
  #2 (permalink)  
Antiguo 02/07/2010, 05:53
 
Fecha de Ingreso: junio-2010
Mensajes: 68
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Pasar parámetro múltiple a SP.

Me contesto a mí mismo. Lo he solucionado de la siguiente manera:

Me he hecho una función a la que le paso el parámetro con los distintos valores, esta función me devuelve una tabla temporal con los valores que previamente han sido separados e insertados en la tabla.

Llamando a esta función en el in de mi sentencia, funciona.
Es la manera más óptima que he encontrado de pasarle un número dinámico de parámetros a un SP, hay otra que es pasándo el parámetro como XML pero no me ha dado tiempo de probarla.

Etiquetas: múltiple, pasar
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 00:20.