create or replace procedure PRC_TEST is -- 声明一个显式游标 cursor my_cursor is select * from emp; v_row my_cursor%rowtype; --描定,定义游标的行变量 就是一个游标变量 begin -- for循环游标 -- 用for循环来遍历游标 1.定义一个游标 2 定义一个游标变量 3.用for循环使用游标 for v_row in my_cursor loop dbms_output.put_line(v_row.empno || ' ' || v_row.ename); end loop; -- fetch游标 -- 要明确的将游标打开和关闭 open my_cursor; --打开游标 loop fetch my_cursor into v_row; -- 抓取一行一行的数据到行变量v_row中 -- 通过fetch一直抓取直到最后一行并退出 exit when my_cursor%notfound; dbms_output.put_line(v_row.empno || ' ' || v_row.ename); end loop; close my_cursor; -- 执行一个update操作, 会产生一个隐式游标 update emp_lulu set ename='XIAOXIAO' where empno=7499; -- 用游标的属性 %found . %notfound , %isopen ,%rowcount -- 如果是DML语句,一执行完游标立刻就会关闭 所以隐式游标的%isopen都是false if sql%isopen then dbms_output.put_line('opening'); else dbms_output.put_line('closing'); end if; if sql%found then dbms_output.put_line(sql%rowcount); else dbms_output.put_line('no'); end if; end PRC_TEST;
Oracle的游标的练习
猜你喜欢
转载自1160514291.iteye.com/blog/2076442
今日推荐
周排行