EJERCICIO 1
Crea un procedimiento que muestre los vehículos (marca, modelo y color) que no estén reparados y los datos de los clientes y vehículos que han entrado a reparar hoy. (En nuestro caso ninguno).
EJERCICIO 2
- Realiza un procedimiento que reciba la matrícula de un vehículo y escriba las características del automóvil y el número de reparaciones que ha sufrido ese automóvil, los empleados que han realizado esas reparaciones y los datos de los vehículos de la misma marca.
- Hacer una llamada al procedimiento creado.
EJERCICIO 3
Modifica el procedimiento anterior añadiendo un HANDLER que controle que si esa matrícula no está en la base de datos, el resto de instrucciones no se ejecuten.
EJERCICIO 4
Crea una función que actualice el estado de las reparaciones que estén finalizadas en una fecha que se indique y que devuelva cuantas reparaciones han finalizado en esa fecha.
EJERCICIO 5
Crea un procedimiento para dar de alta una nueva reparación para un vehículo y un cliente que no tenemos registrado. Llama al procedimiento ReparacionClienteNuevo. Incluye un HANDLER que controle que si insertamos un cliente y/o un vehículo que ya existen, el resto de sentencias continúen ejecutándose, y se añade como mínimo la nueva reparación. Para probar el procedimiento toma como referencia los datos siguientes: (tomados de un
ejercicio de la unidad anterior).
Un cliente nuevo nos ha traído su vehículo al taller el día 03/03/2011. En recepción se registran los siguientes datos:
- Del cliente.- Código: 00011, Nombre y apellidos: Tomás Gómez Calle, Teléfono: 22334455.
- Del vehículo.- Matrícula: 3131 FGH, Modelo: Renault Scénic, matriculado el 17/03/2009, 105.000 km
- De la reparación.- Sustitución de las lámparas delanteras.
EJERCICIO 6
Creación de funciones:
- Diseña una función que calcule el importe de los recambios sustituidos en una reparación.
- Crea una función que devuelva el importe de las actuaciones que se llevan a cabo en una reparación (para calcular el importe multiplica las horas por el importe de cada actuación).
En ambas funciones Pasar como variable el Id de la reparación.
- Diseñar una consulta que calcule el importe total (mano de obra y recambios) de las
reparaciones que se le hayan realizado al vehículo de matrícula '1313 DEF'.
EJERCICIO 7
Crea una función que reciba como parámetro de entrada el número correspondiente a un mes y devuelva el importe total facturado ese mes. Utiliza para ello las dos funciones obtenidas en la práctica anterior.
NOTAS:
- Por ejemplo para Enero, número del mes 1.
- Utilizar un cursor para recorrer cada fila de la consulta de los IdReparacion que se obtengan en ese mes.
- Controla mediante un HANDLER que la consulta haya devuelto alguna fila.
EJERCICIO 8
Crea un trigger que, antes de insertar una fila en la tabla Incluyen, compruebe si existen unidades en Stock en la tabla RECAMBIOS llevando a cabo las siguientes acciones:
- Si hay suficientes unidades actualiza el Stock restando las unidades que se van a insertar.
- Si no hay suficientes unidades en Stock cancela la inserción de las unidades.
EJERCICIO 9
- Crea una tabla denominada PedidoRecambios que contenga 3 columnas:
- IdRecambio.
- Descripcion.
- Stock.
Con los mismos tipos de datos que tienen esas columnas en la tabla RECAMBIOS.
- Crea un trigger asociado a la tabla RECAMBIOS que después de actualizar el Stock de un recambio, si el número de unidades en Stock del recambio modificado es inferior a 4 unidades, inserte una fila en la tabla PedidoRecambios con los datos resultantes.
EJERCICIO 10
Utilizando funciones de librerías disponibles en MySQL obtener:
- Un listado con dos columnas: en la primera, en mayúsculas apellidos y nombre de todos los clientes (entre los apellidos y el nombre incluir una coma como separador) y en la segunda, la ciudad en la que cada cliente tiene su domicilio (únicamente la ciudad, no la dirección).
- Un listado con 2 columnas: en la primera la fecha de alta de los empleados con el formato dd/mm/aaaa y en la segunda aparecerá 'Contrato temporal ' para aquellos empleados que lleven contratados en el taller menos de 2 años, y 'Contrato fijo' para el resto.
NOTA: 8,2 / 10