Which statement is true about the fetch statements in the PL/SQL code?

Examine the following PL/SQL code:

Which statement is true about the fetch statements in the PL/SQL code?

Examine the following PL/SQL code:

Which statement is true about the fetch statements in the PL/SQL code?

A.
Each fetch retrieves the first row and assigns values to the target variables.

B.
Each fetch retrieves the next consecutive row and assigns values to the target variables.

C.
They produce an error because you must close and reopen the cursor before each fetch – statement

D.
Only the first fetch retrieves the first row and assigns values to the target variables- the second produces an error.



Leave a Reply 5

Your email address will not be published. Required fields are marked *


Manuel

Manuel

La respuesta correcta es la B, recordar que el puntero dentro del active set siempre apunta a la primera fila, cuando queremos ingresar al cursor debemos primero abrirlo, con la sentencia FETCH recuperamos una fila de active set siempre comenzando por el numero del puntero actual es decir siempre en la primera fila, después de la primera referencia el puntero avanza hacia la siguiente fila, por lo que cuando se realiza el segundo FETCH se recupera la fila2 y así sucesivamente, esto lo podríamos optimizar si utilizaramos un ciclo, para obtener todos los elementos del cursor. Como sigue:

BEGIN

FOR i IN (SELECT last_name FROM employees ORDER BY last_name) LOOP

DBMS_OUTPUT.PUT_LINE(i.last_name);
END LOOP;
END;
/

Heena

Heena

B is the correct answer.

Each fetch on the cursor acts like each iteration of the loop.
like…
for rec in c1
loop
dbms_output.put_line(rec.last_name);
end loop;