Ver Mensaje Individual
  #1  
Antiguo 11-01-2007
Caballero Negro Caballero Negro is offline
Registrado
 
Registrado: jul 2005
Posts: 3
Reputación: 0
Caballero Negro Va por buen camino
Problema con entrecomillado en sentencia select in dentro de un Store Procedure

Despues de hacer un cursor tengo un resultado con uno o varios registros.
056
004
057
Cabe decir que estos valores son alfanumericos.

Tengo una cadena dentro del stored que almacena los registros encontrados de la siguiente forma
'056','004','057'

El motivo de esta cadena es poder efectuar la siguiente consulta
select valor in ( @cadena ) from tabla

El problema se encuentra cuando asigno el entrecomillado a los valores de @cadena ya que al efectuar la consulta dentro del stored con select valor in ( @cadena ) from tabla, no presenta ningun valor.

Si asigno en el select la siguiente sentencia:
select valor in ( '056','004','057') from tabla
la consulta se hace correctamente.

El proceso de asignacion de las comillas a la cadena es el siguiente:
open Resultados
Fetch next from Resultados into @CadenaTemp
while @@FETCH_STATUS = 0
begin
set @contador = @contador + 1
set @cadena = @cadena +''''+@CadenaTemp+''''
if @contador < @Limite
begin
set @cadena = @cadena +','
end
Fetch next from Resultados into @IDRuta01str
end
close Resultados
deallocate Resultados

No quiero hacer un query mas complicado que lo arriba mostrado, ya que el select... in () es mas que suficiente para lo que se desea.
El problema es como armar correctamente el valor de @Cadena dentro de Stored Procedure.

Agradeciendo de antemano la ayuda a este "pequeño" problema les mando un afectuoso saludo a toda la comunidad de Club Delphi.
Responder Con Cita