SQL - Procedimiento dinamico

 
Vista:

Procedimiento dinamico

Publicado por Jhon Alexander (18 intervenciones) el 09/03/2007 14:20:25
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Procedimiento dinamico

Publicado por luishoracio (33 intervenciones) el 10/03/2007 18:45:21
Buenos días

Lo puedes hacer creando una tabla temporal en el programa que usas para conectarte, otra es alamcenar en una tabla de SQL las cedulas que el usuario escoga y trabajarla en el procedimiento almacenado.

Si tienes alguna duda con gusto la resolveré

Hasta pronto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento dinamico

Publicado por Correcaminos (2 intervenciones) el 10/03/2007 21:17:19
Otra opcion es que pases un varchar con el listado de datos separados por coma y despues armes en una variable tambien varchar, dentro del Store, todo el select
Ej.:
Create Procedure Listar ( @ValoresFiltro as varchar(2000)) AS
declare @strQuery as varchar(2500)
Begin
Set @strQuery = 'Select * from tabla where cedula in (' + @ValoresFiltro + ')'
exec @strQuery
End

Tenes que tener en cuenta que cuando armas el parametro @ValoresFiltro, tiene que estar separado por comas, y no olvidarte de que no sobren comas:
1,2,3,4, <ERROR>
1.2.3.4 <OK>

Saludos
Correcaminos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento dinamico

Publicado por Isaías (5072 intervenciones) el 12/03/2007 19:29:54
De ser SQL SERVER 2000 tu base de datos, lee este articulo:

http://www.sommarskog.se/arrays-in-sql-2000.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar