在Oracle游標循環內給變量賦值通常是通過FETCH語句獲取游標當前行的數據,并將其賦給相應的變量。下面是一個示例:
DECLARE
cursor_name SYS_REFCURSOR;
name VARCHAR2(50);
age NUMBER;
BEGIN
OPEN cursor_name FOR
SELECT employee_name, employee_age FROM employees;
LOOP
FETCH cursor_name INTO name, age;
EXIT WHEN cursor_name%NOTFOUND;
-- 在這里可以對name和age變量進行操作
-- 例如輸出到屏幕上
DBMS_OUTPUT.PUT_LINE('Employee Name: ' || name || ', Age: ' || age);
END LOOP;
CLOSE cursor_name;
END;
/
在這個示例中,游標cursor_name打開并查詢了employees表中的數據。在循環中,FETCH語句將游標當前行的數據賦給name和age變量,然后可以對這些變量進行各種操作。在這里,我們簡單地將它們輸出到屏幕上。最后,循環結束并關閉游標。