I Oracle är For Loop det enklaste sättet att arbeta med Cursor. Den öppnar markören, hämtar och stängs av sig själv. Nedan finns exempel på hur man hämtar data från Cursor i Oracle med hjälp av For Loop.
För exempel på loopmarkör
1. Markör utan parameterexempel
STÄLL IN SERVEROUTPUT PÅ;DECLARECURSOR c_empISSELECT * FROM emp;BEGINFOR cur IN c_empLOOPDBMS_OUTPUT.put_line ('Anställds namn:' || cur.ename || ' Job:' || cur.job);END LOOP;END;/
Utdata
Anställd Namn:SMITH Jobb:CLERKE Anställds Namn:ALLEN Jobb:SÄLJARE Anställds Namn:WARD Jobb:SÄLJARE Anställds Namn:JONES Jobb:MANAGERE Anställds Namn:MARTIN Jobb:SÄLJEN Anställds Namn:BLAKE ANSTÄLLNINGEN Anställds Namn:Jobbet:MANAGEREm:Jobbets Namn:Anställd:MANAGEREm :ANALYSTE Anställds Namn:KING Jobb:PRESIDENT Anställds Namn:TURNER Jobb:SÄLJARE Anställds Namn:ADAMS Jobb:CLERKE Anställds Namn:JAMES Jobb:CLERKE Anställds Namn:FORD Jobb:ANALYSTE Anställds Namn:MILLERKPLER slutförd Jobb:CLERKEprecedur C.2. Parameterisera markören för loopexempel
STÄLL PÅ SERVEROUTPUT;DECLARECURSOR c_emp (p_job emp.job%type)ISSELECT * FROM emp där jobb =p_job;BEGINFOR cur IN c_emp ('MANAGER')LOOPDBMS_OUTPUT.put_line ('Anställds namn:' || cur.ename | | ' Job:' || cur.job);END LOOP;END;/Utdata
Anställds namn:JONES Jobb:MANAGEREAnställds namn:BLAKE Jobb:MANAGEREAnställds namn:CLARK Jobb:MANAGERPL/SQL-proceduren har slutförts.Se även:
- Oracle Bulk Collect Exempel med hjälp av markör
- Fortsätt att gå in i markören även om ett fel uppstod
- Exportera data till CSV i Oracle
Text-, ntext- och bilddatatyperna kan inte jämföras eller sorteras, förutom när du använder operatorn IS NULL eller LIKE>
Får ett ORA - 00907-fel på följande vid ON UPDATE
hur man får sista infognings-id efter infogningsfråga i kodigniter aktiv post
Får ett udda fel, SQL Server-frågan använder "WITH"-satsen