![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
lo que esta faltando es la declaracion de la varialbes de entrada y salida, las de salida están ok, la de entrada es donde tengo problema, ya que la he definido como varchar ya que quiero buscar en varias bodega, por esto la consulta en el procedimiento con la condición "IN". He aqui el problema, ya que el campo id_bodega de la tabla inventario es de tipo integer, sin embargo, yo intreso una cadena para que debe buscar en mas de una bodega... por ejemplo:
- (1) - (1,3) - (2,3,5) Espero se entienda, y me puedan ayudar a resolverlo. Utilizo Firebird 2.5. |
|
#2
|
||||
|
||||
|
Dudo que eso funcione (no puedo asegurarlo al 100%), para lo que quieres es posible que tengas que usar execute_statement, haz una búsqueda, se ha tratado en diversas ocasiones.
Básicamente se trata de componer la sentencia completa y pasarla como una cadena, resumiendo:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
Ojito que el predicado "in" es limitado. Le caben creo 1024 elementos o algo así, pero sigue siendo limitado.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#4
|
|||
|
|||
|
Podría ser algo así...
El parametro :Bodegas deberia ser enviado así '1,2,...', quedando la sentencia id_bodega in (1,2,3) Espero te ayude, saludos cordiales |
|
#5
|
||||
|
||||
|
Seguro que no lo has probado porque eso no funciona.
Tienes que pasarle la cadena completa ya formada. O sea, algo como lo que te he puesto en el ejemplo anterior, 'montas' la cadena en una variable y la llamas con execute_statement.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
|||
|
|||
|
gracias a todos por sus comentarios, finalmente el tema lo resolví asi.
Esto funciona bien y rápido, sin embargo, como se comportará al tener muchos más registros? El comando execute statement es igual de eficiente que una consulta directa? Gracias nuevamente. |
|
#7
|
||||
|
||||
|
No, no es tan rápido, pero sólo lo notarás en consultas muy complejas con muchas tablas involucradas.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Procedimiento almacenado | efelix | MS SQL Server | 7 | 21-11-2007 17:53:00 |
| Procedimiento Almacenado | rodrigo19 | Oracle | 5 | 22-08-2007 22:55:40 |
| Procedimiento almacenado | LucianoRey | MS SQL Server | 2 | 23-08-2005 00:37:06 |
| Creando funcion o procedimiento almacenado | buffygcs | MS SQL Server | 3 | 05-05-2005 09:44:56 |
| Procedimiento almacenado y Ado | LucianoRey | MS SQL Server | 11 | 06-07-2004 22:55:23 |
|