I Oracle er For Loop den nemmeste måde at arbejde med Cursor på. Den åbner markøren, henter og lukker af sig selv. Nedenfor er eksempler på, hvordan man henter data fra Cursor i Oracle ved hjælp af For Loop.
Til eksempler på løkkemarkør
1. Markør uden parametereksempel
SET SERVEROUTPUT ON;DECLARECURSOR c_empISSELECT * FROM emp;BEGINFOR cur IN c_empLOOPDBMS_OUTPUT.put_line ('Medarbejdernavn:' || cur.ename || ' Job:' || cur.job);END LOOP;END;/
Output
Medarbejder Navn:SMITH Job:CLERKE Medarbejder Navn:ALLEN Job:SALGS Medarbejder Navn:WARD Job:SALGS Medarbejder Navn:JONES Job:LEDER Medarbejder Navn:MARTIN Job:SALGS Medarbejder Navn:BLAKE CENTER Job:MANAGEREm Job:Job CO. :ANALYSTEmedarbejdernavn:KING Job:PRESIDENTMedarbejdernavn:TURNER Job:SÆLGERMedarbejdernavn:ADAMS Job:CLERKEMedarbejdernavn:JAMES Job:CLERKEmedarbejdernavn:FORD Job:ANALYSTEmedarbejdernavn:MILLERKL, fuldført job:CLERKL, fuldført job:C.2. Parametrér markør for sløjfeeksempel
SET SERVEROUTPUT ON;DECLARECURSOR c_emp (p_job emp.job%type)ISSELECT * FROM emp hvor job =p_job;BEGINFOR cur IN c_emp ('MANAGER')LOOPDBMS_OUTPUT.put_line ('Medarbejdernavn:' || cur.ename | | ' Job:' || cur.job);END LOOP;END;/Output
Medarbejdernavn:JONES Job:MANAGEREMedarbejdernavn:BLAKE Job:MANAGEREMedarbejdernavn:CLARK Job:MANAGERPL/SQL-proceduren er gennemført.Se også:
- Oracle Bulk Collect-eksempel ved hjælp af markør
- Fortsæt med at sløjfe markøren, selvom der opstod en fejl
- Eksporter data til CSV i Oracle