![]() |
![]() |
| 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
|
|||
|
|||
|
completamente de acuerdo, como lo harías??
|
|
#2
|
||||
|
||||
|
Pues como tú mismo has indicado, pasándole los parámetros necesarios.
Así, a simple vista, no creo que necesites el "execute statement".
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
|||
|
|||
|
Bueno lo voy a revisar, pero sin consulta no era respecto a esa parte del procedimiento, sino es al momento de condicionar las busqueda del query general, que consulta a la tabla "insumos_servicios". Adjunto procedimiento modificado.
Esto funciona bien siempre y cuando el usuario desee buscar por algún items en especifico, sin embargo, imaginense que el usuario desea revizar la lista completa de items, la nueva condición me impediría hacer esto, ya que si o si es necesario pasar este valor en el query original. Nombre es una nueva variable de entrada. Pueden existir mas de una nueva condicion de busqueda. Se les ocurre como solucionar esto? |
|
#4
|
||||
|
||||
|
Esa parte no la entiendo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
|||
|
|||
|
es el caso que el usuario desee revisar la lista completa de items, es decir, la nueva linea del procedimiento debiese eliminarse o no considerarse, para que no filtre por esta condición.
El tema es que no modificar en tiempo de ejecución el procedimiento según sea el requerimiento del usuario, ese es el tema principal !!!! |
|
#6
|
||||
|
||||
|
Creo que estoy dormido, porque no me entero que quiéres decir
![]() es el caso que el usuario desee revisar la lista completa de items, ¿Qué lista, qué items? es decir, la nueva linea del procedimiento debiese eliminarse o no considerarse, para que no filtre por esta condición. ¿La nueva línea?, ¿qué es la 'nueva línea'?, ¿eliminarse? El tema es que no modificar en tiempo de ejecución el procedimiento según sea el requerimiento del usuario, ese es el tema principal !!!! Sigo sin entender. Llámame torpe, pero no lo comprendo ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
|||
|
|||
|
si te fijas, el segundo código del procedimiento que inserté en el foro, tiene una nueva linea... "and nombre like :nombre" /* nueva linea */, donde nombre es una nueva variable de entrada. Con este he solucionado el problema de buscar un registro en particular de la tabla insumos_servicios, que es el FOR del procedimiento (encabezado).
El problema surge cuando el usuario quiere revisar todos los registros de la tabla insumos_servicios, y con esta condición en el procedimiento no podrá realizarlo. El tema es como pasarle al procedimiento las condiciones necesarias para buscar lo que el usuario desea, todos los registros o algunos registros, siendo que la unica forma es cambiando las propias lineas procedimiento (las condiciones, por ejemplo "and nombre like :nombre"). Espero se entienda. Gracias |
|
#8
|
||||
|
||||
|
Hola,
así a bote pronto creo que puedes sustituir el procedimiento almacenado por una vista. Después podrías hacer los filtros que quieras. Para ello tendrías que incluir el campo id_bodega en la vista, ya que el campo id_clasificación ya lo tienes. En definitiva, haz una vista con la consulta de las tablas insumos_servicios, clasificaciones, inventario, inventario_egreso, utiliza funciones de agregado y agrupa por id_item.
Te lo he puesto de memoria, seguro que hay algún fallo desintaxis. Una vez tengas la vista, montas el filtro de las bodegas y/o agrupas por ellas. Espero que te sirva. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - Última edición por Casimiro Noteví fecha: 13-08-2013 a las 23:28:31. |
|
#9
|
|||
|
|||
|
Estimados, la idea expuesta por fjcg02, podrías haber funcionado, pero tenia un problema es que el id_bodega está en 2 tablas.
El tema lo resolví de la siguiente forma lo expongo por si a alguien le sirve. Modifique el procedimiento agregando una segunda variable de entrada de tipo varchar (1000), llamada texto. Esta la creo en tiempo de ejecucción con todas das las condiciones deseadas por el usuario.
Funciona perfecto, y mejora notablemente la velocidad, ya que el query principal del procedimiento es sobre un numero limitado de registro, dadas las condiciones requeridas. Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Fecha con condiciones | rufo | Varios | 17 | 07-04-2010 00:44:51 |
| Paradox--->Condiciones | lurad | Tablas planas | 2 | 19-09-2006 20:45:40 |
| Condiciones | Carlex | SQL | 7 | 09-08-2004 21:15:33 |
| Condiciones en SQL | agova | SQL | 5 | 20-07-2004 01:28:24 |
| condiciones en interbase | squenda | Conexión con bases de datos | 5 | 29-03-2004 02:54:49 |
|