Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 13-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
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
 



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
Hacer que una columna de un DbGrid aparezca distinta según valor Aprendiendo OOP 11 30-11-2018 14:47:20
Columna calculada david.rguez SQL 1 15-06-2007 15:04:50
Añadir columna a dbrid, que muestre sentencia calculada, en runtime niñotaliban Conexión con bases de datos 2 28-02-2007 11:54:28
Añadir columna calculada a dbgrid miquellg Conexión con bases de datos 4 27-07-2006 23:58:45
Columna calculada en base a otra columna calculada Al González Firebird e Interbase 1 09-02-2004 23:51:57


La franja horaria es GMT +2. Ahora son las 18:42:27.


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