You are on page 1of 2

Unidad 2 / Programas almacenados

NOTA: Este documento est protegido. Podrs incluir tus comentarios en los espacios de color gris.

Actividad 7
Nombre:

Apellidos:

Fecha:

E-mail:

Enunciado:
Para realizar los ejercicios necesitars las tablas del script tablas1.sql con el que has trabajado este
tema. Puedes hacerlos sobre la misma base de datos practica1 volviendo a ejecutar el script
tablas1.sql, o sobre cualquier otra base de datos (p.ej. test) y con el usuario root, ejecutando
solamente las instrucciones de creacin de tablas e insercin de filas que aparece dentro del script
tablas1.sql (todas las filas excepto las 5 primeras).
Guarda todos ellos en un fichero de texto que ser el que enves al Tutor (puedes tambin enviarlos de
uno en uno conforme los vayas resolviendo si as lo deseas)
Realiza un procedimiento de nombre ejercicio2_7 que reciba como argumentos los datos de un
empleado (los 9 parmetros correspondientes a las 9 columnas) y los almacene en la tabla empleados.
Adems de los 4 manejadores de error contemplados en el ejercicio 2.6 anterior (clave nula, clave
repetida, tabla inexistente y manejador SQLEXCEPTION) se deber aadir otro que trate el error de
que el departamento al que se le asigna al empleado (numde) debe existir previamente o ser nulo
(integridad referencial).
Ejemplo de ejecucin:
/* Intentando dar de alta al empleado 600 en el Departamento 800: */
mysql> CALL EJERCICIO2_7 (600, 800, 400, '1966/11/03', '1990/12/09', 600, 400, 0, 'Luis Hueso',
@N_ERROR, @MENSAJE);
Query OK, 0 rows affected (0.03 sec)
mysql>SELECT@N_ERROR,@MENSAJE;
+++
|@N_ERROR|@MENSAJE|
+++
|1452|Departamentoinexistente|
+++
1rowinset(0.00sec)
/* Intentando dar de alta al empleado 600 en el departamento 100 */
mysql> CALL EJERCICIO2_7 (600, 100, 400, '1966/11/03', '1990/12/09', 600, 400, 0
, 'Luis Hueso', @N_ERROR, @MENSAJE);

Query OK, 1 row affected (0.01 sec)


mysql>SELECT@N_ERROR,@MENSAJE;
+++
|@N_ERROR|@MENSAJE|
+++
|0|Altadeempleadorealizada|
+++
1rowinset(0.00sec)

Respuesta:

Enva tus conclusiones a la tutora.

You might also like