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 25-09-2012
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 20
mjjj Va por buen camino
Casimiro, creo que este ejemplo en particular lo puedo resolver definiendo claves unicas en Firebird, con esto evito que se duplique la factura en la tabla nomina.

Como expuse anteriormente, esto es solo un ejemplo. En la realidad si pudiese darse que una factura este en dos nomina distintas, pero en este caso la condicion sería que la sumatoria de los montos de la tabla nomina no puede ser mayor a el valor de la factura.

Las tablas estan difinidas como sigue:

Facturas:
-id_factura
-rut
-total
...

Nomina
-id_nomina
-id_factura
-monto
...

Si llevamos esto a SQL, para listar las facturas que no tienen nomina, o que su monto en monina sea menor que el monto de la fatura, lo realizo con un procedimiento almacenado.

Código SQL [-]
for select f.id_factura, rut, total from facturas into :id_factura, :rut, :total do
begin
select sum(monto) monto_total from nomina where id_factura =:id_factura
into : monto_total
suspend;
end

Donde id_factura, rut, total y monto_total son parametro de salida.

De esta forma aparecería la factura 2, si es que la sumatoria de los montos en la nomina es menor que el total de la factura.

Sin embargo, sigue el problema original, en caso de tener 2 o más usuario intentanto asociar la misma factura a una nomina, previmente con el mismo listado.

Con la clave unica no puedo resover esto.
Alguna idea?
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
Nuevas Reglas de la RAE marcoszorrilla La Taberna 13 15-11-2010 18:56:01
Las 11 reglas de la vida (Bill Gates) Casimiro Noteví La Taberna 14 12-11-2010 19:27:28
Un ejemplo de reglas de negocio CORBATIN Conexión con bases de datos 5 03-04-2005 01:28:20
OutLook con reglas cmgenny Windows 0 18-08-2003 21:18:13
Ejemplo de reglas en capa intermedia Ulises Conexión con bases de datos 7 07-08-2003 14:08:12


La franja horaria es GMT +2. Ahora son las 19:50:28.


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