for 循环遍历游标简洁
for 循环遍历游标,不用open、close、fetch,判断游标是否循环完成。
declare
cursor c_sal is select empno,ename ,sal from scott.emp;
begin
--隐含打开游标
for v_sal in c_sal loop
--隐含执行一个fetch语句
dbms_output.put_line(to_char(v_sal.empno)||'-'|| v_sal.ename||' is '||to_char(v_sal.sal)) ;
--隐含监测c_sal%notfound
end loop;
--隐含关闭游标
end;
/
执行结果
SQL> /
7369-SMITH is 800
7499-ALLEN is 1600
7521-WARD is 1250
7566-JONES is 2975
7654-MARTIN is 1250
7698-BLAKE is 2850
7782-CLARK is 2450
7788-SCOTT is 3000
7839-KING is 5000
7844-TURNER is 1500
7876-ADAMS is 1100
7900-JAMES is 950
7902-FORD is 3000
7934-MILLER is 1300
PL/SQL procedure successfully completed
Executed in 0.011 seconds