2 7 a Manejo de Errores
Transcript of 2 7 a Manejo de Errores
-
8/15/2019 2 7 a Manejo de Errores
1/2
Unidad 2 / Programas almacenados
NOTA: Este documento está protegido. Podrás incluir tus comentarios en los espacios de color gris.
Actividad 7
Nombre:
Apellidos:
Fecha:
E-mail:
Enunciado:
Para realizar los ejercicios necesitarás 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 scripttablas1.sql , o sobre cualquier otra base de datos (p.ej. test) y con el usuario root, ejecutando
solamente las instrucciones de creación de tablas e inserción de filas que aparece dentro del script
tablas1.sql (todas las filas excepto las primeras).
!uarda todos ellos en un fichero de texto que será el que env"es al #utor (puedes tambi$n enviarlos de
uno en uno conforme los vayas resolviendo si as" lo deseas)
%ealiza un procedimiento de nombre ejercicio2_7 que reciba como ar&umentos los datos de un
empleado (los ' parámetros correspondientes a las ' columnas) y los almacene en la tabla empleados.
demás de los manejadores de error contemplados en el ejercicio *.+ anterior (clave nula, clave
repetida, tabla inexistente y manejador -/01/P#234) se deberá a5adir otro que trate el error de
que el departamento al que se le asi&na al empleado (numde) debe existir previamente o ser nulo
(inte&ridad referencial).
/jemplo de ejecución6
78 2ntentando dar de alta al empleado +99 en el :epartamento ;996 87
mysql< 1 /=/%12123*>? (+99, ;99, 99, @A'++7AA79B@, @A''97A*79'@, +99, 99, 9, @uis Cueso@,
D4>/%%3%, DE/4=/)F
-uery 3G, 9 roHs affected (9.9B sec)
mysql> SELECT @N_ERROR, @MENSAJE;
+----------+--------------------------+
| @N_ERROR | @MENSAJE |
+----------+--------------------------+
| 1452 | Departamento inexistente |
+----------+--------------------------+
1 row in set (0.00 sec)
78 2ntentando dar de alta al empleado +99 en el departamento A99 87
mysql< 1 /=/%12123*>? (+99, A99, 99, @A'++7AA79B@, @A''97A*79'@, +99, 99, 9
, @uis Cueso@, D4>/%%3%, DE/4=/)F
-
8/15/2019 2 7 a Manejo de Errores
2/2
-uery 3G, A roH affected (9.9A sec)
mysql> SELECT @N_ERROR, @MENSAJE;
+----------+----------------------------+
| @N_ERROR | @MENSAJE |
+----------+----------------------------+
| 0 | Alta de empleado realizada |
+----------+----------------------------+1 row in set (0.00 sec)
Respuesta:
Envía tus conclusiones a la tutoría.