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

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 24-10-2012
brandolin brandolin is offline
Miembro
 
Registrado: jul 2003
Ubicación: Mendoza
Posts: 324
Poder: 21
brandolin Va por buen camino
No entiendo como se manejan los cursores en un procedimiento almacenado.

Este es el procedimiento que da el error.

Código SQL [-]
CREATE PROCEDURE CALC_CUENTACORRIENTE (
    PCOD_CLIENTE INTEGER)
AS
DECLARE VARIABLE HABER FLOAT;
DECLARE VARIABLE DEBE FLOAT;
DECLARE VARIABLE ID INTEGER;
DECLARE VARIABLE TMP_SALDO FLOAT = 0;
declare variable statuscta varchar(1);
declare variable limitesaldo float;
begin
  TMP_SALDO = 0;
  for select ID, DEBE, HABER from CLIENTES_CUENTA
      where COD_CLIENTE =:PCOD_CLIENTE
            and (cerrado = '0')
      order by fecha,id
      into :ID, : DEBE, :HABER
  do begin
     if (NOT : DEBE IS NULL) then TMP_SALDO = :TMP_SALDO + : DEBE;
     if (NOT :HABER IS NULL) then TMP_SALDO = :TMP_SALDO - :HABER;
     UPDATE clientes_cuenta SET SALDO=:TMP_SALDO WHERE ID = :ID;
  end
  update clientes set saldo_cta = :tmp_saldo
  where cod_cliente = : pcod_cliente;
  
  /* Trigger body */
  select LIMITE_CTA, OPERA_CTACTE from clientes
  where cod_cliente = :PCOD_CLIENTE
  into :limitesaldo, :statuscta;
  if (:tmp_saldo >= :limitesaldo) then
  begin
       /* se deshabilita la cuenta */
       update clientes set OPERA_CTACTE = '0'
       where cod_cliente = :PCOD_CLIENTE;
  end
  else begin
     if (:statuscta = '0') then
     begin
          /*se habilita la cuenta*/
          update clientes set OPERA_CTACTE = '1'
          where cod_cliente = :PCOD_CLIENTE;
     end
  end
end

El error se produce incluso en el entorno de desarrollo. Este código esta de hace tiempo y nunca tenia problemas, incluso funciona bien, es decir, hace lo que tiene que hacer.
Ademas hay otros SP que estan teniendo el mismo problema y otros que funcionan bien...
¿alguna idea ? Gracias.

Última edición por Casimiro Notevi fecha: 24-10-2012 a las 15:56:56.
Responder Con Cita
 



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
error en la prueba de conexion al inicializar al proveedor. error de autenticacion ygeraldino Conexión con bases de datos 12 20-06-2011 23:51:18
Error al generar instalador con installshield (error 6173) jangel_ramirezm Varios 4 09-12-2008 00:07:54
dbexpress Error: unknown error Code '101' raorre Conexión con bases de datos 3 13-10-2008 07:53:49
error:[Fatal Error] Unit1.pas(7): Unit ZDbcConnection was compiled with a different.. karaoke Conexión con bases de datos 2 19-12-2007 10:22:36
¿Por qué me da este error?Error creating cursor manejador nuri SQL 2 01-08-2005 17:30:28


La franja horaria es GMT +2. Ahora son las 21:36:19.


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