viernes, 18 de noviembre de 2011

TA (4)

Crear un procedimiento que permita abrir una cuenta de ahorros para un cliente con un saldo inicial.
Los parámetros del procedimiento son el código del cliente y monto de apertura.
Considerar las siguientes especificaciones:
Las cuentas de ahorro son secuenciales y se numeran anteponiendo la “C” de cuenta y un correlativo. Ejemplo C0001, C0002, C0003,...etc.
Al crear la cuenta su primer movimiento será el de apertura de cuenta de ahorros.
El monto de apertura de una cuenta de ahorros será mayor a 100 nuevos soles.


CODIGO:

CREATE PROCEDURE APERTURA_CUENTA @COD_CLIENTE CHAR(5), @MONTO MONEY
AS
BEGIN
TRANSACTION
DECLARE @CUENTA CHAR(5)
DECLARE @AUX INT

SELECT @CUENTA = MAX(C_CUENTA) FROM CUENTA
IF @CUENTA is NULL
BEGIN
SET @CUENTA = 'C0001'
INSERT INTO CUENTA VALUES(@CUENTA, @COD_CLIENTE, @MONTO)
INSERT INTO MOVIMIENTO VALUES(@CUENTA,1,'1',@MONTO,GETDATE())
END
ELSE
BEGIN
SET @AUX = CONVERT(INT,RIGHT(@CUENTA,4)) + 1
SET @CUENTA = 'C'+RIGHT('000'+CONVERT(VARCHAR,@AUX),4)

INSERT INTO CUENTA VALUES(@CUENTA, @COD_CLIENTE, @MONTO)
INSERT INTO MOVIMIENTO VALUES(@CUENTA,1,'1',@MONTO,GETDATE())
END
COMMIT

No hay comentarios:

Publicar un comentario