oracle游标遍历的三种方式
生活随笔
收集整理的這篇文章主要介紹了
oracle游标遍历的三种方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一種:loop
declarecursor c1 isselect sno,cno,grade from sc;v_sno sc.sno%type;v_cno sc.cno%type;v_grade sc.grade%type; beginopen c1;loopfetch c1 into v_sno,v_cno,v_grade;exit when c1%notfound;--緊跟fetch之后if c1%found thendbms_output.put_line(to_char(c1%rowcount)||v_cno);end if;end loop;close c1; end;第二種:while
declarecursor c1 isselect sno,cno,grade from sc;v_sno sc.sno%type;v_cno sc.cno%type;v_grade sc.grade%type; beginopen c1;fetch c1 into v_sno,v_cno,v_grade;while c1%found loopdbms_output.put_line(v_sno||v_cno||v_grade);fetch c1 into v_sno,v_cno,v_grade;end loop;close c1; end;第三種:for
declarecursor c1 isselect sno,cno,grade from sc;beginfor item in c1 loopdbms_output.put_line(rpad(item.sno,'10',' ')||rpad(item.cno,'10',' ')||rpad(item.grade,'10',' '));end loop;end;三種方式的比較:
1)最簡單是是for循環:首先是:在declare部分不需要聲明變量,其次,在begin部分不需要打開游標以及關閉游標。(推薦使用)
2)loop循環:首先要將游標指向第一行,再判斷%found,需要設置循環退出條件。
3)while循環:只有第一行%found返回true時才會執行體,在循環體中執行完用戶操作后,需要將游標指向下一行。
總結
以上是生活随笔為你收集整理的oracle游标遍历的三种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线性回归(y=ax+b)
- 下一篇: oracle:平均分大于78的女同学的学