PL / SQL Cursor FOR LOOP

0 Comments

Resumen: En este tutorial, aprenderá a usar la instrucción PL/SQL cursor FOR LOOP para obtener y procesar cada registro de un cursor.

Introducción a la instrucción PL/SQL cursor FOR LOOP

la instrucción cursor FOR LOOP es una elegante extensión de la instrucción numérica FOR LOOP.

El numérico FOR LOOP ejecuta el cuerpo de un bucle una vez por cada valor entero en un rango especificado., Del mismo modo, el cursor FOR LOOP ejecuta el cuerpo del bucle una vez por cada fila devuelta por la consulta asociada con el cursor.

una buena característica de la instrucción cursor FOR LOOP es que le permite obtener cada fila de un cursor sin administrar manualmente el ciclo de ejecución, es decir, OPEN, FETCH, y CLOSE.

el cursor FOR LOOP crea implícitamente su índice de bucle como una variable de registro con el tipo de fila en la que regresa el cursor y luego lo abre.,

en cada iteración de bucle, la instrucción cursor FOR LOOP obtiene una fila del conjunto de resultados en su índice de bucle. Si no hay ninguna fila que buscar, el cursor FOR LOOP cierra el cursor.

el cursor también se cierra si una instrucción dentro del bucle transfiere control fuera del bucle, por ejemplo, EXIT y GOTO, o genera una excepción.,

el siguiente ejemplo ilustra La sintaxis del cursor FOR LOOP instrucción:

1) registro

El record es el nombre del índice que el cursor FOR LOOP instrucción declara implícitamente como un %ROWTYPE variable de registro del tipo de cursor.

la variable record es local a la instrucción cursor FOR LOOP. Esto significa que solo se puede hacer referencia dentro del bucle, no fuera., Después de que finalice la ejecución de la instrucción cursor FOR LOOP, la variable record se vuelve indefinida.

2) cursor_name

El cursor_name es el nombre de un cursor explícito, que no está abierto cuando el bucle se inicia.

tenga en cuenta que además del nombre del cursor, puede usar una instrucción SELECT como se muestra a continuación:

en este caso, el cursor FOR LOOP declara, abre, obtiene y cierra un cursor implícito., Sin embargo, el cursor implícito es interno; por lo tanto, no puede hacer referencia a él.

tenga en cuenta que Oracle Database optimiza automáticamente un cursor FOR LOOPpara que funcione de manera similar a una consulta BULK COLLECT. Aunque su código parece que obtiene una fila a la vez, Oracle Database obtiene varias filas a la vez y le permite procesar cada fila individualmente.

PL / SQL cursor FOR loop examples

veamos algunos ejemplos de uso de la instrucción cursor FOR LOOP para ver cómo funciona.,

a) PL/SQL cursor FOR LOOP example

el siguiente ejemplo declara un cursor explícito y lo usa en la instrucción cursor FOR LOOP.

en este ejemplo, la instrucción SELECT del cursor recupera datos de la tabla products. La instrucción FOR LOOP se abrió, obtuvo cada fila del conjunto de resultados, mostró la información del producto y cerró el cursor.,

B) Cursor FOR LOOP with a SELECT statement example

el siguiente ejemplo es equivalente al ejemplo anterior, pero utiliza una consulta en una instrucción cursor FOR LOOP.

en este tutorial, ha aprendido cómo usar el cursor PL/SQL FOR LOOP para obtener datos de un cursor.

  • ¿Fue útil este tutorial?
  • YesNo


Deja una respuesta

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