在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变量,然后可以对这些变量进行各种操作。在这里,我们简单地将它们输出到屏幕上。最后,循环结束并关闭游标。