Oracle 循環遊標
阿新 • • 發佈:2018-12-09
-- 查詢員工號,姓名,職位 declare -- 定義遊標 cursor mycur is select empno,ename,job from emp; v_empno emp.empno%type; v_ename emp.ename%type; v_job emp.job%type; begin -- 開啟遊標 open mycur; -- 提取資料 loop fetch mycur into v_empno,v_ename,v_job; dbms_output.put_line('員工編號:'||v_empno||'員工名稱:'||v_ename||'員工職位:'||v_job); -- 什麼時候能夠退出迴圈 -- exit when mycur%notfound; -- exit when not mycur%found; exit when mycur%rowcount=5; end loop; -- 關閉遊標 close mycur; exception when others then dbms_output.put_line('出錯'||sqlerrm); end; -- 使用循環遊標 declare -- 定義遊標 cursor mycur is select empno,ename,job from emp; begin for record in mycur loop dbms_output.put_line('員工編號:'||record.empno||'員工名稱:'||record.ename||'員工職位:'||record.job); end loop; exception when others then dbms_output.put_line('出錯'||sqlerrm); end; -- for後面直接接select語句 begin for record in (select empno,ename,job from emp) loop dbms_output.put_line('員工編號:'||record.empno||'員工名稱:'||record.ename||'員工職位:'||record.job); end loop; exception when others then dbms_output.put_line('出錯'||sqlerrm); end;