Procedimiento almacenado dinamico

09/03/2007 - 14:37 por Jhon Alexander | Informe spam
Hola colegas,
Tengo el siguiente problema:
Tengo un procedimiento almacenado que me trae cierta información, pero me
pidieron que esta información la debo de filtrar por lo que el usuario
quiera ejemplo:

Create procedure ejemplo
@Cedula varchar(20),
@Cedula1 varchar (20)
As
Select * from tabla where cedula in (@cedula,@cedula)

Esto esta muy bien pero que pasaría si el usuario me selecciona unas 10
cedulas para que estén como condición.
Hay alguna forma de hacer esto dinámico que el procedimiento me visiva
parámetros dinámicos

Alex
 

Leer las respuestas

#1 Alejandro Mesa
09/03/2007 - 15:28 | Informe spam
Jhon Alexander,

Puedes armar una lista separada por coma con todas las cedulas, epasarla
como parametro a un sp y partirla en el servidor para poder usar sus
elementos en la busqueda. Tambien puedes armar un documento XML y manipularlo
en el sp usando OPENXML. En la version 2005 tambien cuentas con el nuevo tipo
de datos XML el cual cuenta con metodos (como NODE y VALUE) para consultar el
documento y los cuales tiene mejor desempeño que OPENXML. De todas maneras te
paso el link hacia un estupendo articulo que trata este tema con lujo de
detalle. Hay unaversion del articulo para 2000 y otra que toca las nuevas
facilidades de 2005.

Arrays and Lists in SQL Server
http://www.sommarskog.se/arrays-in-sql.html

AMB

"Jhon Alexander" wrote:

Hola colegas,
Tengo el siguiente problema:
Tengo un procedimiento almacenado que me trae cierta información, pero me
pidieron que esta información la debo de filtrar por lo que el usuario
quiera ejemplo:

Create procedure ejemplo
@Cedula varchar(20),
@Cedula1 varchar (20)
As
Select * from tabla where cedula in (@cedula,@cedula)

Esto esta muy bien pero que pasaría si el usuario me selecciona unas 10
cedulas para que estén como condición.
Hay alguna forma de hacer esto dinámico que el procedimiento me visiva
parámetros dinámicos

Alex

Preguntas similares