4. FOR Cursor เป็น Loop ที่เกิดจากการ For ของข้อมูลที่อยู่ในรูปแบบ Cursor (การ Select ข้อมูล)
FOR Cursor : Syntax
FOR record_index in cursor_name
LOOP
{...statements...}
END LOOP;
Example : การใช้งาน FOR Cursor แบบง่าย ๆ
CREATE OR REPLACE PROCEDURE MY_STORED_PROCEDURE
AS
BEGIN
FOR CusInfo IN (SELECT * FROM CUSTOMER)
LOOP
DBMS_OUTPUT.PUT_LINE(CusInfo.CUSTOMER_ID || ' ' || CusInfo.NAME || ' '
|| CusInfo.EMAIL || ' ' || CusInfo.COUNTRY_CODE || ' ' || CusInfo.BUDGET || ' ' || CusInfo.USED);
END LOOP;
END;
ตัวอย่างนี้จะ Loop ข้อมูลจาก Cursor ที่ได้จากการ (SELECT * FROM CUSTOMER)
Call
EXEC MY_STORED_PROCEDURE();
เขียนได้อีกวิธีคือ
CREATE OR REPLACE PROCEDURE MY_STORED_PROCEDURE
AS
CURSOR curCustomer IS
SELECT CUSTOMER_ID, NAME, EMAIL FROM CUSTOMER;
BEGIN
FOR CusInfo IN curCustomer
LOOP
DBMS_OUTPUT.PUT_LINE(CusInfo.CUSTOMER_ID || ' ' || CusInfo.NAME || ' ' || CusInfo.EMAIL );
END LOOP;
END;