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