Trigger al agregar una transacción en un banco
Publicado por Jhon Jairo (22 intervenciones) el 29/03/2017 23:17:51
Hola, uso sql 2012, tengo que hacer un trigger. Adjunto lo que llevo y toda la información. Si pueden ayudarme se los agradezco.
2. Al agregar una transacción por cuenta, si es retiro (se debe verificar) que el valor de la transacción no exceda al saldo de la cuenta) o consignación se disminuya o incremente el saldo de la cuenta , respectivamente, en ese valor. Se debe verificar la existencia del numero de la cuenta y el código de la transacción.
Tablas con sus campos
Cliente > DocIdent, nombre, apellido, dirección, teléfono, FechaIngreso, Estado
Cliente Consulta > DocIdent, nombre, apellido, dirección, teléfono, FechaIngreso, Estado
CuentaXCliente > NroCuenta, DocIdent, Saldo, clave, FechaApertura
TipoTransacción > CodigoT, Descripcion
TransacCuenta > NroCuenta, CodigoT, Valor, Fecha, hora, (clave primaria autonumérica)
Consignación 01
2. Al agregar una transacción por cuenta, si es retiro (se debe verificar) que el valor de la transacción no exceda al saldo de la cuenta) o consignación se disminuya o incremente el saldo de la cuenta , respectivamente, en ese valor. Se debe verificar la existencia del numero de la cuenta y el código de la transacción.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Create trigger agregar_transaccion on dbo.TransacCuenta
After insert
As
DECLARE @valor_transaccion int,
DECLARE @saldo_cuenta int
SET @valor_transaccion = (SELECT Valor FROM inserted)
SET @saldo_cuenta = (SELECT Saldo FROM dbo.CuentaXCliente)
SET @numero_cuenta = (SELECT NroCuenta FROM inserted)
If @tipo = 02
Begin
If @valor_transaccion <= @saldo_cuenta
Begin
update dbo.CuentaXCliente set Saldo = Saldo - @valor_transaccion where NroCuenta = @numero_cuenta
End
Else
Print ‘El valor de la transacción no puede ser mayor que el saldo de la cuenta’
End
If @tipo = 01
Begin
update dbo.CuentaXCliente set Saldo = Saldo + @valor_transaccion where NroCuenta = @numero_cuenta
End
Tablas con sus campos
Cliente > DocIdent, nombre, apellido, dirección, teléfono, FechaIngreso, Estado
Cliente Consulta > DocIdent, nombre, apellido, dirección, teléfono, FechaIngreso, Estado
CuentaXCliente > NroCuenta, DocIdent, Saldo, clave, FechaApertura
TipoTransacción > CodigoT, Descripcion
TransacCuenta > NroCuenta, CodigoT, Valor, Fecha, hora, (clave primaria autonumérica)
Consignación 01
Valora esta pregunta


0