FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
si efectuas eso el SELECT buscará un valor que sea igual a @cadena
podrias hacer lo siguiente a cada valor le antecedes un caracter extraño por ejemplo ! es decir @cadena sería igual a: !056!004!057 luego tu sentencia seria algo asi como [/sql] SELECT * FROM tabla where CHARINDEX(@cadena, '!056')>0; [/sql] suerte
__________________
self.free; |
#3
|
|||
|
|||
Buen dia
tiene que ser un IN sobre una cadena? no podria ser algo asi como
suponiendo que es la consulta que usas para armar el cursor y es lo que quieres regresar? |
#4
|
|||
|
|||
Gracias a todos por su apoyo.
En efecto SinaloCarlos.
Le definicion de Sql aguanta perfectamente expresiones de consulta sobre la clausula IN. Un amigo de la oficina me dio unos golpes en la cabeza para poder "ver lo evidente". Me sucedio el sindrome del programador que trabaja con el tiempo encima. De todas maneras gracias pro su apoyo. Saludos!!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Store procedure php | jorgito | MySQL | 1 | 06-06-2006 08:55:12 |
Store procedure en firebird | ronimaxh | Firebird e Interbase | 4 | 19-04-2006 11:42:12 |
Store Procedure en Delphi | carlomagno | Firebird e Interbase | 5 | 21-09-2005 20:24:22 |
incremento de store procedure | uper | Firebird e Interbase | 5 | 21-04-2004 19:15:59 |
store procedure | ronimaxh | Firebird e Interbase | 2 | 24-06-2003 20:20:22 |
|