Download pdf - 3_1_A

Transcript

Unidad 3 / Transacciones

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

Actividad 1

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)Realizar un procedimiento de nombre ejercicio3_1 que actualice el salario de los empleados, con una cantidad por hijo que se pase al procedimiento, para aquellos trabajadores que su comisin es nula. Durante el proceso de actualizacin debe garantizarse que ningn otro usuario pueda cambiar los datos que estn siendo modificados. Utilizar un manejador de tipo SQLEXCEPTION (que incluya la operacin ROLLBACK) para tratar cualquier situacin de error distinta de la excepcin NOT FOUND que tambin deber manejarse. Al final del proceso, confirmar la transaccin si la ejecucin ha sido correcta.

Ejemplo de funcionamiento. Antes de llamar al procedimiento de actualizacin:

+-------+---------+----------+-------+

| numem | salario | comision | numhi |

+-------+---------+----------+-------+

| 110 | 310 | NULL | 3 |

| 120 | 350 | 110 | 1 |

| 130 | 290 | 110 | 2 |

| 150 | 440 | NULL | 0 |

| 160 | 310 | 110 | 2 |

| 180 | 480 | 50 | 2 |

| 190 | 300 | NULL | 4 |

.

Despus de ejecutar CALL EJERCICIO3_1(30);

+-------+---------+----------+-------+

| numem | salario | comision | numhi |

+-------+---------+----------+-------+

| 110 | 400 | NULL | 3 |

| 120 | 350 | 110 | 1 |

| 130 | 290 | 110 | 2 |

| 150 | 440 | NULL | 0 |

| 160 | 310 | 110 | 2 |

| 180 | 480 | 50 | 2 |

| 190 | 420 | NULL | 4 |

...

...

Respuesta:

Enva tus conclusiones a la tutora.