domingo, 5 de febrero de 2017

Fundamentos de Bases de Datos: Ejercicios 2017/Febrero/06


Modelo Relacional


Ejercicio 5



  1. Definir un procedimiento almacenado de nombre paActualizarClienteIniciales, recibe como parámetro @CodCliente con valor por omisión 0 (Cero).  Debe actualizar la Columna SaldoActual y la Columna FechaSaldo de la Tabla Tarjeta con el Saldo correspondiente a todos los movimientos de cada tarjeta.  La FechaSaldo debe ser actualizada al valor de la fecha actual.  Para todas las tarjetas del @CodCliente.
  2. Definir un procedimiento almacenado de nombre paBajaClienteIniciales, recibe como parámetro el @CodCliente con valor por omisión 0 (Cero).  Primero, debe invocar al procedimiento paActualizarClienteIniciales con @CodCliente, luego debe cambiar la Columna Estado de 'A' a 'B' si la Suma de la Columa SaldoActual de las Tarjetas del Cliente es igual a 0 (Cero), de lo contrario debe enviar un mensaje de error con Raiserror.
  3. Definir un procedimiento almacenado de nombre paAltaClienteIniciales, recibe un parámetro por cada columna de la tabla menos la columna CodCliente y la Columna Estado.  Inserta una nueva fila en la tabla Cliente, con la Columna Estado igual a 'A'.  Finalmente debe tener una instrucción return @@Identity;


Ejercicio 6


Definir un procedimiento almacenado de nombre paCargoTarjetaIniciales, recibe como parámetros:

  • @NumeroTarjeta con valor por omisión "", 
  • @Monto con valor por omisión 0 (Cero),
  • @Fecha con valor por omisión GETDATE(),

Este procedimiento almacenado invoca al procedimiento paActualizarSaldoIniciales con el CodTarjeta y luego inserta una fila en la tabla Movimiento, si se cumplen las siguientes condiciones:

  1. Si el cliente en la columna propietario de la tarjeta tiene la columna Estado = 'A'
  2. Si el @NumeroTarjeta tiene una FechaVencimiento mayor a la fecha actual,
  3. Si el @Monto es mayor que 0 (Cero),
  4. Si el @Monto + SaldoActual es menor que la Columna LimiteCredito,
  5. De lo contrario debe enviar un mensaje de error con Raiserror.

El valor de la columna  Abono en la tabla de Movimiento debe ser igual a Cero, para esta fila.


Ejercicio 7


Definir un procedimiento almacenado de nombre paAbonoTarjetaIniciales, recibe como parámetros:

  • @NumeroTarjeta con valor por omisión "", 
  • @Monto con valor por omisión 0 (Cero),
  • @Fecha con valor por omisión GETDATE(),

Este procedimiento almacenado invoca al procedimiento paActualizarSaldoIniciales con el CodTarjeta y luego inserta una fila en la tabla Movimiento, si se cumplen las siguientes condiciones:

  1. Si el cliente en la columna propietario de la tarjeta tiene la columna Estado = 'A', y el @Monto es mayor que 0 (Cero), entonces permite insertar la información.
  2. Si el cliente en la columna propietario de la tarjeta tiene la columna Estado = 'B', y la Columan SaldoActual es mayor que 0 (Cero), entonces permite insertar la información.
  3. De lo contrario debe enviar un mensaje de error con Raiserror.

El valor de la columna  Cargo en la tabla de Movimiento debe ser igual a Cero, para esta fila.








No hay comentarios.:

Publicar un comentario