Ver Mensaje Individual
  #4  
Antiguo 13-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 28
jachguate Va por buen camino
No veo la manera de hacerlo con un trigger, pero si con un stored procedure:

Código SQL [-]
set term ^ ;

create procedure EstadoCuenta (
  cliente integer
)
returns (
  ventas double precision,
  pagos double precision,
  devoluciones double precision,
  saldo double precision
)
AS
begin
  saldo = 0;
  for select ventas, pagos, devoluciones, saldo
        from tabla
       where cliente = :cliente
       order by fecha do
  begin
    saldo = saldo + ventas - pagos - devoluciones;
    suspend;
  end
end
^

set term ; ^

commit work;

//uso:

select *
  from EstadoCuenta(1);

Es probable que tenga errores de sintaxis, pues lo he hecho aquí mismo, pero la idea es esa.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita