使用for循环遍历游标

最近更新时间: 2025-02-18 16:02:00

示例:

  • 复制
    复制成功
---创建表
drop table if exists employees;
create table employees(last_name varchar2(20), employee_id int, job_id varchar2(30), salary number(10, 3));
insert into employees values('a', 1, 'ACADFIMKSA_MANGR', 10005.45);
insert into employees values('b', 2, 'b_M_MANGR', 47956);
insert into employees values('c', 3, 'c_cursor', 1457.79);
insert into employees values('d', 4, 'deptcurtyp', 1458.256);192ye
insert into employees values('e', 5, 'SHT_CLERK', 1458.256);
insert into employees values('f', 6, 'SH_CLERK', 1458.256);
insert into employees values('g', 7, 'SA_REP', 1458.256);
insert into employees values('h', 8, 'AD_REP', 1458.256);
---定义游标,使用for循环遍历游标
DECLARE
    cursor c_cursor is select job_id||'--'||last_name||'--'||to_char(salary) as l from employees where rownum<=10 order by last_name;
    v_ename employees.last_name%type;
begin
    perform dbms_output.serveroutput('t');
    for v_ename in c_cursor
    loop
        perform DBMS_OUTPUT.PUT_LINE(c_cursor%ROWCOUNT||'---'||v_ename.l);
    end loop;
end;
/