Ayuda con un trigger de control de balance

25/09/2006 - 22:29 por Tito | Informe spam
Suponiendo que tengo estas tablas (solo pongo los campos relevantes):

Tabla: Debito
Campos: NumeroDebito,ValorDebito (puede ser positivo o negativo), .

Tabla: CreditoHeader
Campos: NumeroCredito, ..

Tabla: CreditoDetalle
Campos: NumeroCredito, NumeroDebito, ValorAplicado (tiene el signo del
debito que se aplica)

(o sea un CreditoDetalle puede aplicar a varios Debitos).

El balance de un debito es aritmeticamente Debito.ValorDebito menos la
suma de los ValorAplicado's en CreditoDetalle a ese debito (Con su signo
algebraico)

Necesito hacer un trigger que me controle que el balance de un debito no se
haga negativo para el caso en que Debito.ValorDebito sea positivo y tampoco
que se haga positivo cuando Debito.ValorDebito sea negativo.

Se que es una funcion del signo original de Debito.ValorDebito (funcion
Sign()) pero no me sale.

Alguna ayuda ?

Nota: El balance no se guarda sino que se calcula cada vez. Son tablas
pequenas.
 

Leer las respuestas

#1 Maxi
26/09/2006 - 03:13 | Informe spam
Hola, me perdi y ademas no soy bueno para las finanzas :-p, si me pasas las
tablas, ejemplos de registros y como deberia quedar podria ayudarte



Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker
www.sqlgurus.org
Email:


"Tito" wrote in message
news:
Suponiendo que tengo estas tablas (solo pongo los campos relevantes):

Tabla: Debito
Campos: NumeroDebito,ValorDebito (puede ser positivo o negativo), .

Tabla: CreditoHeader
Campos: NumeroCredito, ..

Tabla: CreditoDetalle
Campos: NumeroCredito, NumeroDebito, ValorAplicado (tiene el signo del
debito que se aplica)

(o sea un CreditoDetalle puede aplicar a varios Debitos).

El balance de un debito es aritmeticamente Debito.ValorDebito menos la
suma de los ValorAplicado's en CreditoDetalle a ese debito (Con su signo
algebraico)

Necesito hacer un trigger que me controle que el balance de un debito no
se haga negativo para el caso en que Debito.ValorDebito sea positivo y
tampoco que se haga positivo cuando Debito.ValorDebito sea negativo.

Se que es una funcion del signo original de Debito.ValorDebito (funcion
Sign()) pero no me sale.

Alguna ayuda ?

Nota: El balance no se guarda sino que se calcula cada vez. Son tablas
pequenas.



Preguntas similares