![]() |
![]() |
| 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
|
||||
|
||||
|
Bueno, si no te he entendido mal, sería algo más o menos así:
Código:
create procedure nombrequequieras ( tarifa varchar(15), /* el tipo que tenga el campo */ tipo varchar(15), /* el tipo que tenga el campo */ mes (integer) /* supongo que el campo fecha es timestamp o date */ ) as begin update tabla comosellame set base_imponible = cloaca where tipo_tarifa= :tarifa and tipo= :tipo and extract(month from fecha)= :mes end
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
||||
|
||||
|
Esto lo he intentando varias veces pero no lo hace y este es el codigo:
Cuando reviso la tabla de un registro en especial no hace el cambio. ![]() |
|
#3
|
||||
|
||||
|
¿Y cómo ejecutas el procedimiento?, ¿desde delphi?, ¿desde otro procedimiento?...
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
Buenos dias
Lo ejecuto desde delphi y tambien lo hago desde ibexpert ejecutando el proceso directamente y no hace los cambsio, la verdad es que no se pueda estar sucediendo, tratare de buscar mas a fondo, pero tiene que haber algo que este ingterfiriendo. |
|
#5
|
||||
|
||||
|
Hola.
¿ Salta algún error ?, es posible que tengas triggers que te bloqueen la modificación. ¿ Confirmas la transacción implicada ?. Sería mejor que indicaras el código Delphi con el que ejecutas el procedimiento almacenado. Dinos también que valores pasas exactamente como parámetros del procedimiento almacenado (tu procedimiento almacenado no va a hacer lo que tu esperas con los parámetros con valor nulo). Saludos
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#6
|
|||
|
|||
|
Cita:
Código:
create procedure nombrequequieras ( tarifa varchar(15), /* el tipo que tenga el campo */ tipo varchar(15), /* el tipo que tenga el campo */ mes (integer), /* supongo que el campo fecha es timestamp o date */ ano (Integer) /* Año*/ ) as begin update tabla comosellame set base_imponible = cloaca where Upper(tipo_tarifa)= Upper(:tarifa) and Upper(tipo)= Upper(:tipo) and extract(month from fecha)= :mes and extract(year from fecha)= :ano end |
|
#7
|
||||
|
||||
|
buen dia,
El procedimiento como tal no lo estoy ejecutando desde delphi, lo hago desde ibexpert, esto lo hacia para ir filtrando posibles conflictos. Ahora bien, las sugerencias de cloayza, quedan descartadas ya que estoy incluyendo en los parametros, exactamente los campos almacenados en cuanto a las tarifas y tipo de factura. Despues de todo esto he adicionado una rutina en el momento de facturar de manera que pueda arreglar cada suscriptor, aparentemente en el grid despues de realizar la rutina, aparecen los datos correctos, pero luego de cerrar el programa y volver a entrar no aparecen, con esto da la impresion que fuera cuestion del componente transaction, aqui dejo el codigo: ======================================== =========================================== Nuevamente les agradezco su valioso tiempo... |
|
#8
|
||||
|
||||
|
He colocado policias en cada linea para verificar las condiciones y los datos que se comparan en ese momento y cumple con todas las codiciones y sigue muy bien la logica, pero luego de volver a entrar no aparecen los datos. Me da la impresion de una novatada me esta haciendo perder el tiempo
pero no doy con la novatada....![]() |
|
#9
|
||||
|
||||
|
Creo que me he perdido
![]() El código que has puesto no tiene nada que ver con un procedimiento almacenado, ahí lo que haces es recorrer un dataset y modificar registros según unos condicionantes. Eso es una forma de hacer lo que quieres, que no tiene nada que ver con un procedimiento almacenado. No sé si estará bien ese código, no lo he seguido con detalle, pero no tiene nada que ver, son dos cosas distintas. Para ejecutar el procedimiento puedes insertar en tu formulario un componente específico para procedimientos o puedes ejecutarlo directamente desde un componente sql, en tu caso sería algo así como:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#10
|
||||
|
||||
|
Eso es correcto, el procedimiento almacenado que inicialmente presente lo estaba ejecutando directamente desde ibexpert y no desde delphi y cuando presente el codigo delphi, de hecho es una manera de realizar la tarea que estoy porponiendo hice la aclaratoria al que era una de las formas de resolver el planteamiento. Pero en otras palabras el procedimiento sugerido por cloayza no me ha funcionado, por lo tanto disene el codigo delphi y si muestra los resultados, pero al cerrar el formulario desaparecen las modificaciones. Pido disculpas por la confusion...
|
|
#11
|
||||
|
||||
|
Prueba a ejecutar directamente el update en el IB-Expert, cuando consigas que funcione como esperas, entonces lo puedes empaquetar dentro del procedimiento almacenado.
De nuevo insisto en que revises las transacciones que utilizas (que se confirmen tras modificar, que abras una transacción nueva al consultar si ha hecho la modificación, etc. ...). Y para ir descartando posibles causas de que la consulta no se comporte como tu esperas, sería útil que respondieras a si pasas valores nulos como parámetro.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|