Registro contable cuadrado

09/05/2008 - 14:04 por Guillermo Rojas | Informe spam
Dos tablas de un sistema de contabilidad para registros contables:

regConth (registro contable encabezado)
-
regno int -- pk identity
fecha date
...

regContd (registro contable detalle)

regno int
ctano char(10) --cuenta contable
debito decimal
credito decimal
...

Tengo que hacer que cada registro (regno) este cuadrado: que la suma de los
debitos sea igual a la suma de los creditos. Si no esta no debe aceptarlo.
No veo como poner esta restriccion en SQL Server, si un trigger o check, etc
y en cual de las dos tablas o si tengo que validarlo desde la aplicacion.
Que me podrian decir para orientarme?
 

Leer las respuestas

#1 Guillermo Villanueva
09/05/2008 - 14:31 | Informe spam
Veo medio complicado que lo chequees con un trigger porque no sabes de
antemano cuantos regContd tendrás por cada regConth, yo diría que lo
chequees desde la aplicación cuando se va a grabar la transacción completa.
En todo caso, si quieres tener un chequeo a nivel de BD podrías chequear con
un trigger el registro (x-1) cuando intentas grabar el encabezado del
registro x y no permitir este si el (x-1) no es correcto.
Son solo ideas

"Guillermo Rojas" <grr> escribió en el mensaje
news:%
Dos tablas de un sistema de contabilidad para registros contables:

regConth (registro contable encabezado)
-
regno int -- pk identity
fecha date
...

regContd (registro contable detalle)

regno int
ctano char(10) --cuenta contable
debito decimal
credito decimal
...

Tengo que hacer que cada registro (regno) este cuadrado: que la suma de
los debitos sea igual a la suma de los creditos. Si no esta no debe
aceptarlo.
No veo como poner esta restriccion en SQL Server, si un trigger o check,
etc y en cual de las dos tablas o si tengo que validarlo desde la
aplicacion.
Que me podrian decir para orientarme?



Preguntas similares