In Oracle, For Loop è il modo più semplice per lavorare con Cursor. Aprirà il cursore, recupererà e si chiuderà da solo. Di seguito sono riportati gli esempi su come recuperare i dati da Cursor in Oracle utilizzando For Loop.
Per esempi di cursore di loop
1. Esempio di cursore senza parametro
SET SERVEROUTPUT ON; DECLARE CURSOR c_emp IS SELECT * FROM emp; BEGIN FOR cur IN c_emp LOOP DBMS_OUTPUT.put_line ( 'Employee Name: ' || cur.ename || ' Job: ' || cur.job); END LOOP; END; /
Uscita
Employee Name: SMITH Job: CLERK Employee Name: ALLEN Job: SALESMAN Employee Name: WARD Job: SALESMAN Employee Name: JONES Job: MANAGER Employee Name: MARTIN Job: SALESMAN Employee Name: BLAKE Job: MANAGER Employee Name: CLARK Job: MANAGER Employee Name: SCOTT Job: ANALYST Employee Name: KING Job: PRESIDENT Employee Name: TURNER Job: SALESMAN Employee Name: ADAMS Job: CLERK Employee Name: JAMES Job: CLERK Employee Name: FORD Job: ANALYST Employee Name: MILLER Job: CLERK PL/SQL procedure successfully completed.
2. Parametrizza il cursore per l'esempio di loop
SET SERVEROUTPUT ON; DECLARE CURSOR c_emp (p_job emp.job%type) IS SELECT * FROM emp where job = p_job; BEGIN FOR cur IN c_emp ('MANAGER') LOOP DBMS_OUTPUT.put_line ( 'Employee Name: ' || cur.ename || ' Job: ' || cur.job); END LOOP; END; /
Uscita
Employee Name: JONES Job: MANAGER Employee Name: BLAKE Job: MANAGER Employee Name: CLARK Job: MANAGER PL/SQL procedure successfully completed.
Vedi anche:
- Esempio di raccolta di massa Oracle utilizzando il cursore
- Continua a scorrere nel cursore anche se si è verificato un errore
- Esporta i dati in CSV in Oracle