Tema: Consulta SQL
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2010, 10:32
gtrigueros
 
Fecha de Ingreso: octubre-2010
Mensajes: 3
Antigüedad: 14 años, 3 meses
Puntos: 0
Consulta SQL

Buenos Días a todos, tengo una duda en una consulta que hago en sql.. El asunto está asi mas o menos...

Hago una búsqueda en una BD (1) en la que el SP podría recibir o no ciertos parámetros, dentro de estos parámetros van un numero de codigos que estan en otra BD (2) instanciada en el mismo servidor de esta otra BD (1) a la que le hago la consulta, estos codigos se los envio concatenados con comas (,).

El codigo es mas o menos asi:



declare @sql VARCHAR (MAX)
set @sql = 'SELECT * FROM VTAS_PROYECTO_ENCUESTA
WHERE (FechaTramite >= ''' + convert(varchar, @FechaInicio, 101) + ''') and
(FechaTramite <= ''' + convert(varchar, @FechaFinal, 101) + ''')'
--Filtro Provincia
if (@CodProvincia <> 0)
begin
set @sql = @sql + ' and (CodProvincia = ''' + convert(varchar, @CodProvincia) + ''')'
end
--Filtro Canton
if (@CodCanton <> 0)
begin
set @sql = @sql + ' and (CodCanton = ''' + convert(varchar, @CodCanton) + ''')'
end
--Filtro Distrito
if (@CodDistrito <> 0)
begin
set @sql = @sql + ' and (CodDistrito = ''' + convert(varchar, @CodDistrito) + ''')'
end
if (@ProyectoEscogido <> '')
begin
set @sql = @sql + ' and (NumProyecto IN (' + @ProyectoEscogido + '))'
end
exec (@sql)

el asunto es que este parametro @ProyectoEscogido va a seguir creciendo y tengo entendido que el varchar tiene un maximo de 8000 por lo que me daria un error, no se si tienen alguna otra sugerencia de como hacerlo... muchas gracias