¿Qué sentencia debo utilizar? ¿For loop? ¿Loop Fetch?

¿Qué sentencia debo utilizar? ¿For loop?  ¿Loop Fetch?

Para saber cuál utilizar dentro del curso hay que siempre tener el performance que tendrá el cursor.

FOR LOOP.- Utilizar un CURSOR FOR LOOP cuando desea buscar y procesar todos los registros en un cursor. El CURSOR FOR LOOP finalizará cuando todos los registros del cursor hayan sido obtenidos.

Es una buena alternativa para utilizar con el cursor por lo que no es necesario abrir ni cerrar el cursor,  inicia cuando la instrucción da orden de iniciar y cierra cuando finaliza todo el registro.

Ejemplo

LOOP FETCH.-  Las variables deben coincidir (tanto en número como en posición) las columnas enumeradas en la definición del cursor.

También los tipos de datos deben coincidir o ser compatibles.

Una instrucción fetch recupera las filas una a la vez del conjunto de resultados de una consulta de varias filas; en otras palabras, avanza el cursor a la siguiente fila.

— Abrir un cursor sólo si es necesario

— Obtener un máximo de 20 registros (o menos si la tabla es menor)

— Haciendo esto un paso más allá, buscando en una variable ROWTYPE Record

Conclusiones

En lo personal recomiendo utilizar FOR LOOP, por lo mismo que el código es reducido y haciendo una comparación de performance efectivamente el for loop lleva la ventaja, además no es necesario abrir y cerrar el cursor para utilizarlo. LOOP FETCH lo utilizo como última instancia.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.