Semana 7 cursores de actualización y referenciales
Transcript of Semana 7 cursores de actualización y referenciales
![Page 1: Semana 7 cursores de actualización y referenciales](https://reader036.fdocuments.co/reader036/viewer/2022083001/557ae516d8b42a8f648b550e/html5/thumbnails/1.jpg)
Cursores de Actualización y Referenciales
Semana 5/1
![Page 2: Semana 7 cursores de actualización y referenciales](https://reader036.fdocuments.co/reader036/viewer/2022083001/557ae516d8b42a8f648b550e/html5/thumbnails/2.jpg)
Aprendizajes esperados
• Discernir cuando usar un procedimientos almacenados, trigger de base de datos, cursor y función para implementar una solución a la lógica de negocio recogida en la captura de requerimientos de un sistema
![Page 3: Semana 7 cursores de actualización y referenciales](https://reader036.fdocuments.co/reader036/viewer/2022083001/557ae516d8b42a8f648b550e/html5/thumbnails/3.jpg)
Conceptos Claves• Los cursores de actualización se utilizan
para actualizar los valores de los datos que son utilizados por el propio cursor
• Se debe considerar que los registros actualizados son bloqueados mientras dura la actualización
• En la declaración del cursor se agrega FOR UPDATE
• En la sentencia Update se agrega en la condición CURRENT OF «nombre_cursor»
![Page 4: Semana 7 cursores de actualización y referenciales](https://reader036.fdocuments.co/reader036/viewer/2022083001/557ae516d8b42a8f648b550e/html5/thumbnails/4.jpg)
Ejemplo Cursor de Actualización
![Page 5: Semana 7 cursores de actualización y referenciales](https://reader036.fdocuments.co/reader036/viewer/2022083001/557ae516d8b42a8f648b550e/html5/thumbnails/5.jpg)
Variables de Cursores Referenciales
• Las variables de cursores referenciales son punteros a un área de trabajo de la BD de Oracle donde se almacena el resultado de una selección de múltiples registros
• Una de sus potencialidades, es que la consulta asociada al cursor de la variable puede ser modificada en tiempo de ejecución
• Reconoceremos dos tipos:• Restrictivos (fuertemente tipeado)• No Restrictivos (débilmente tipeado)
![Page 6: Semana 7 cursores de actualización y referenciales](https://reader036.fdocuments.co/reader036/viewer/2022083001/557ae516d8b42a8f648b550e/html5/thumbnails/6.jpg)
Cursores referenciales restrictivos
• Son aquellos que en su declaración se restringe la estructura del resultado extraído
![Page 7: Semana 7 cursores de actualización y referenciales](https://reader036.fdocuments.co/reader036/viewer/2022083001/557ae516d8b42a8f648b550e/html5/thumbnails/7.jpg)
Cursores referenciales no restrictivos
• Son aquellos que en su declaración no se restringe la estructura del resultado extraído
![Page 8: Semana 7 cursores de actualización y referenciales](https://reader036.fdocuments.co/reader036/viewer/2022083001/557ae516d8b42a8f648b550e/html5/thumbnails/8.jpg)
Sys_Refcursor
• Desde la versión 9i de Oracle no es necesario declarar un tipo Ref Cursor. Se puede declarar la variable directamente con el tipo Sys_RefCursor