Trong Oracle, For Loop là cách dễ nhất để làm việc với Cursor. Nó sẽ tự mở con trỏ, tìm nạp và đóng. Dưới đây là các ví dụ về cách tìm nạp dữ liệu từ Con trỏ trong Oracle bằng For Loop.
Đối với các ví dụ về con trỏ vòng lặp
1. Ví dụ về con trỏ không có tham số
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; /
Đầu ra
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. Tham số hóa con trỏ cho ví dụ về vòng lặp
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; /
Đầu ra
Employee Name: JONES Job: MANAGER Employee Name: BLAKE Job: MANAGER Employee Name: CLARK Job: MANAGER PL/SQL procedure successfully completed.
Xem thêm:
- Ví dụ về Thu thập Hàng loạt Oracle bằng Con trỏ
- Tiếp tục lặp lại trong Con trỏ ngay cả khi Lỗi xảy ra
- Xuất dữ liệu sang CSV trong Oracle