BEGIN
FOR emp_record IN
(SELECT ename,sal FROM emp)
LOOP
dbms_output.PUT_LINE(emp_record.ename);
END LOOP;
END;
----------------------------
DECLARE
CURSOR emp_cursor IS
SELECT empno,ename FROM emp;
BEGIN
FOR emp_record IN emp_cursor LOOP
dbms_output.put_line(emp_record.empno||emp_record.ename);
END LOOP;
END;
----------------------------------
建议你使用以上两种形式的游标,变量类型的定义,打开、关闭游标都是
隐藏完成的,就不用考虑那么多了。
可以!
例:
SET SERVERIUTPUT ON
DECLARE
R_emp EMP%ROWTYPE; //是定义在表上的.
CURSOR c_emp IS SELECT * FROM emp;
BEGIN
OPEN c_emp;
LOOP FETCH c_emp INTO r_emp;
EXIT WHEN c_emp%NOTFOUND;
DBMS_OUT.PUT.PUT_LINE('Salary of Employee'||r_emp.ename||'is'|| r_emp.salary);
END LOOP;
CLOSE c_emp;
END;