FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#41
|
||||
|
||||
Es tan sencillo esta instruccion que no se cree, pero tengo varios meses y cuando digo varios meses, es en serio, (son varios meses ) he realizado bastantes pruebas buscando una justificacion para esto y no la encuentro, pero debe ser algun contenido que no entra en el filtro, tal y cual como lo dice el amigo Casimiro. Solo me falta eliminar dicho registro y volverlo a crear (no se si teine sentido o no ). Tambien aclaro que la inclusion de los nuevos meses ya viene con los datos de base imponible y excento con su justo valor.
|
#42
|
||||
|
||||
Veamos, amigo, esto es fácil, ejecuta este select:
Código:
select count(*) from facturacion where tipo_tarifa= "Residencial" and tipo_factura= "Consumo" and extract(month from fecha)= 1 and extract(year from fecha)= 2010 Pues toda esa cantidad de registros son los que se modificarán si ejecutas el procedimiento almacenado con los mismos valores: Código:
execute procedure COMOSELLAME("Residencial","Consumo",1,2010) Código:
select count(*) from facturacion where tipo_tarifa= "Residencial" and tipo_factura= "Consumo" and extract(month from fecha)= 1 Código:
select count(*) from facturacion where tipo_tarifa= "Residencial" and tipo_factura= "Consumo" Código:
select count(*) from facturacion where tipo_tarifa= "Residencial" Código:
select count(*) from facturacion Haz estas pruebas y nos cuentas, pero tal y como te lo he puesto, ok? |
#43
|
||||
|
||||
Ok si va...
|
#44
|
||||
|
||||
¡Qué bien!, entonces ¿cual era el problema?.
|
#45
|
||||
|
||||
Cita:
Aunque Casimiro tiene toda la razón en que va a ser mucho más rápido detectar el conflicto dentro de la cláusula WHERE utilizando sentencias SELECT y no UPDATES. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#46
|
||||
|
||||
Buen dia a todos, efectivamente a medida que vamos cerrando las condiciones del WHERE vamos determinando cual de los filtros tiene el problema (estoy utilizando select en vez de update). En las diferentes pruebas me he dado cuenta que los registros con tarifas "Especial" salen en el select pero no se actualizan en el update, la prueba estuvo centrada en el year 2009 mes diciembre y tarifa "Especial". Tambien les informo, que por casualidad el registro que siempre verificaba es el de tarifa "Especial" y es el que no entra en el filtro. Ahora bien, el contenido del registro cumple con lsa condiciones del filtro, pero no hace caso al mismo. Inclusive lo he eliminado y vuelto a crear pero persiste.
|
#47
|
||||
|
||||
Vas a tener que pasarnos la base de datos
|
#48
|
||||
|
||||
¿ Como está de triggers esa tabla ?, ¿ seguro que no tienes un trigger que le vuelve a poner su valor actual ?.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#49
|
||||
|
||||
Buenos dias,
Revise los triggers y no encontre nada que me diera indicios de lo que comenta guillotmarc, pero de todas maneras le hice un seguimiento a cada evento relacionado. Luego de realizar las pruebas con condiciones del where, hizo la actualizacion pero solamente filtrando la data unicamente con tarifas, mes y year a la vez y ejecutando el proceso directamente desde ib-expert: Lo ejecute varias veces para las demas tarifas y los demas meses:
El procedimiento ejecutado es:
Y para el resto de las tarifas se aplico lo siguiente: [sql]execute procedure act_impuesto_2("Comercial","Consumo",9,2009) execute procedure act_impuesto_2("Comercial","Consumo",1,2010) execute procedure act_impuesto_2("Comercial","Consumo",2,2010) execute procedure act_impuesto_2("Industrial A","Consumo",9,2009) execute procedure act_impuesto_2("Industrial A","Consumo",1,2010) execute procedure act_impuesto_2("Industrial A","Consumo",2,2010) /SQL El procedimiento ejecutado es:
Hasta llegar con todas las tarifas y en los ultimos tres meses. De esta manera fue que pude actualziar. Se ve ilogico, pero trate de hacer un solo SP pero no realizaba nada pero de todas maneras expogo el SP:
Este procedimiento no funcionada. Pero como dije antes realizaba prueba modificando el filtro del where y por separado funcionaba y fue de esta manera que pude resolver la situacion. En el futuro no vamos a tener este problema, ya que al crear el registro vamos a tener en cuenta todos los campos y no va a ser necesario actualizarlos luego. De todas maneras seria bueno las observaciones para con los SP para en un futuro no volver a caer en estos detalles. Caballeros muchas gracias por su colaboracion y por el aporte de sus valiosisimos conocimientos. Muchas gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Correccion de Sintaxis | sierraja | Firebird e Interbase | 9 | 28-10-2008 23:34:14 |
Correccion ortografica | Iskariote0087 | Varios | 4 | 23-02-2008 10:42:09 |
Una pequeña corrección | Faust | Varios | 1 | 07-07-2006 07:10:39 |
|