Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-10-2011
Rockin Rockin is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 264
Poder: 21
Rockin Va por buen camino
Procedimiento no actualiza

Buenas tardes, tengo el siguiente SP:

Código SQL [-]
SET TERM ^ ;

CREATE PROCEDURE PEDIR_CONTACTO_LEADS
RETURNS(
  TELEFONO CHAR(9) CHARACTER SET ISO8859_1,
  PRIORIDAD INTEGER,
  FECHA_PROX_CONTACTO DATE,
  HORA_PROX_CONTACTO TIME)
AS
BEGIN
SELECT FIRST 1 CAST (TELEFONO AS CHAR(9)), PRIORIDAD, FECHA_PROX_CONTACTO, HORA_PROX_CONTACTO
FROM  MOVILES_POPUP
WHERE
((ID_CAMPANIA = 'LEADS' AND PRIORIDAD IS NOT NULL
AND FECHA_PROX_CONTACTO = CURRENT_DATE and HORA_PROX_CONTACTO >= CURRENT_TIME AND PRIORIDAD >= 2)
OR (ID_CAMPANIA = 'LEADS' AND PRIORIDAD IS NOT NULL AND FECHA_PROX_CONTACTO = CURRENT_DATE AND PRIORIDAD = 1))
AND PRIORIDAD <> 0
ORDER BY  PRIORIDAD ASC, HORA_PROX_CONTACTO ASC
INTO  :TELEFONO , PRIORIDAD, FECHA_PROX_CONTACTO, HORA_PROX_CONTACTO ;

   UPDATE MOVILES_POPUP SET PRIORIDAD = 0 WHERE TELEFONO = :TELEFONO;

suspend;


END;^

SET TERM ; ^

El cual me selecciona el primer registro que cumpla esas condiciones y luego me lo tiene que actualizar, pero nada, he revisado el procedimiento he hecho un debug y cumple todo los requisitos pero no actualiza el procedimiento.

¿Algien sabe en que estoy fallando? Le estoy dando vuelta a lo mismo pero no se que falla. La BD es Firebird 2.5

Saludos.

Última edición por Rockin fecha: 24-10-2011 a las 17:49:46.
Responder Con Cita
  #2  
Antiguo 24-10-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Es posible que nada esté fallando, solo que aún no veas el cambio.

Recuerda que debes finalizar la transacción donde se ejecuta este procedimiento almacenado.

Recuerda también que donde consultes si se ha realizado el cambio, se debe empezar una nueva transacción "después" de haber finalizado la transacción de modificación.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 24-10-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
En cualquier caso, en herramientas como IB-Expert tienes depuradores de procedimientos almacenados, con el que podrás comprobar si tu procedimiento funciona como esperabas.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #4  
Antiguo 24-10-2011
Rockin Rockin is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 264
Poder: 21
Rockin Va por buen camino
Hola:
Lo estoy ejecutando directamente desde la BD con EMS Firebird y no me actualiza. El depurador me lo pone todo correcto, incluo me dice:

Executed OK, 1 rows fetched (0,39 sec)
1 record(s) was(were) updated in MOVILES_POPUP

Pero luego voy al registro y sigue igual.
Voy a probar a lanzar el SP desde Delphi a ver si la transaccion que tiene un commit asociado lo ejecuta correctamente.

Saludos
Responder Con Cita
  #5  
Antiguo 24-10-2011
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 18
mightydragonlor Va por buen camino
te falta darle commit en el EMS.
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita
  #6  
Antiguo 25-10-2011
Rockin Rockin is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 264
Poder: 21
Rockin Va por buen camino
Si, era eso, gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
condicionar un procedimiento dentro de otro procedimiento yossi Varios 7 17-05-2010 10:47:14
no se actualiza armando Firebird e Interbase 2 04-12-2009 01:22:30
procedimiento que no inserta ni actualiza jzginez Firebird e Interbase 2 12-09-2005 17:34:36
Ayuda, como llamar a un procedimiento desde otro procedimiento? Ariatna Varios 1 01-02-2005 04:05:35
No actualiza trex2000 Firebird e Interbase 2 28-01-2005 23:43:20


La franja horaria es GMT +2. Ahora son las 16:48:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi