Accesibilidad_Video_Subtitulos_Blanca_Sanabria
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Hola chicos, este vídeo es para ilustrar el concepto de cursores implícitos, son aquellos
00:00:00
que el programa ni abre ni cierra el cursor, se hace todo de forma implícita y únicamente
00:00:07
valen para la orden insert, update y delete, a diferencia de los cursores implícitos que
00:00:11
vimos anteriormente que eran para la orden select, estos solamente para estas tres órdenes.
00:00:16
Vamos a ver un ejemplo, un bloque que ejecuta una orden insert, sin la orden update no encuentra
00:00:22
la fila coincidente, vemos aquí begin, update, hacemos una actualización a la tabla rooms,
00:00:27
le ponemos que el número de asientos o de pupitres sea 100, cuando el código de aula
00:00:33
es este, supongamos que este código de aula no existe y este update va a fallar, en caso
00:00:37
de que falle no se va a ir nunca al gestor de excepciones, si no tenemos controlado nada
00:00:42
debajo pues no nos vamos a enterar que no ha hecho la actualización, lo lógico es
00:00:49
poner debajo un cursor implícito, de la forma if sql tanto %not found y que haga un aviso
00:00:55
o que inserte en una tabla temporal, lo que sea, en este caso inserta el código y el
00:01:02
número 100.
00:01:07
Vamos a ver otro ejemplo, este es el ejercicio 6 que tenéis en la lista de ejercicios, lo
00:01:08
vamos a hacer y así ya queda corregido, codificar un procedimiento que permita borrar un empleado
00:01:14
cuyo número se pasa en la llamada, el procedimiento se llama borrar empleado y recibe un parámetro,
00:01:19
lo que hace es borrar de la tabla empleados el código del empleado cuyo código es igual
00:01:24
al que nos pasan por parámetro, supongamos que nos pasan un código que no existe, entonces
00:01:32
ocurre lo mismo que con el update anterior, si este delete falla, no se va al gestor de
00:01:38
excepciones, simplemente no borra el empleado y no nos enteramos de que ha fallado, el programa
00:01:42
continuaría, entonces lo suyo es poner debajo un cursor implícito de este tipo, en el caso
00:01:47
de que el delete falle, se irá a este if que se cuele tanto %not found y nos sacará
00:01:55
este mensajito por pantalla, no existe el empleado.
00:02:01
Vamos a ver otro ejemplo, este caso es para ilustrar que no es conveniente emplear se
00:02:06
cuele %not found en órdenes select into, como ya os he dicho, los cursores implícitos
00:02:13
solo valen para órdenes insert, update o delete, cuando un select into falla siempre
00:02:18
se va a ir al gestor de excepciones, si aquí hacemos este select asterisco into una variable
00:02:22
de la tabla rooms cuando el código del aula es el menos uno que probablemente no exista,
00:02:27
pues va a fallar y se va a ir al gestor de excepciones y nunca va a hacer lo que esté
00:02:32
por debajo, lo que quiere decir que este cursor implícito no se va a ejecutar nunca, se irá
00:02:35
al gestor de excepciones, si la excepción está controlada, en este caso sí porque
00:02:39
hay un %not found en el gestor, entonces insertará en la tabla temporal y estamos en la excepción,
00:02:43
pero nunca va a ejecutar el cursor implícito.
00:02:51
Con esto ya queda finalizado el tema de cursores implícitos.
00:02:54
- Subido por:
- Blanca S.
- Licencia:
- Reconocimiento
- Visualizaciones:
- 5
- Fecha:
- 14 de enero de 2024 - 19:59
- Visibilidad:
- Clave
- Centro:
- IES JUAN DE LA CIERVA
- Duración:
- 02′ 59″
- Relación de aspecto:
- 1.74:1
- Resolución:
- 838x482 píxeles
- Tamaño:
- 7.81 MBytes