日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

PLSQL 循环游标 cursor loop fetch into

發(fā)布時間:2025/3/15 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PLSQL 循环游标 cursor loop fetch into 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

PLSQL 循環(huán)游標 cursor 的一點心得體會?

set serveroutput on---------------打印輸出信息,默認是FALSE?

declare --------------------申明變量,分號結束?

v_pages number;?
v_numberPerPage number;?
v_totalPages number;?
v_cur??????? sys_refcursor;?

diy_id? number;?
diy_name varchar2(50);?
diy_date date;?
cursor c_list is select * from? table_User? i where i.id=4;?

begin?
----------------給變量初始化值?
v_pages:=1;?
v_numberPerPage:=20;?
--調用的sp,參數(shù)分別是pages number 要查詢的頁數(shù),numberPerPage number 每頁顯示幾條?? ,tatalPages number 輸出參數(shù),返回結果集總頁數(shù) , resultCursor cursor 結果集游標,返回查詢結果?
My_Test_SP(v_pages,v_numberPerPage,v_totalPages,v_cur);?


------------第一種循環(huán)游標方式,最簡單高效?
for c in c_list loop?
dbms_output.put_line('用戶的id='||c.id); -------------輸出結果集?
end loop;?



----------第二種循環(huán)游標方式?

open v_cur ------打開游標,但是如果有這代碼會提示錯誤,所以我運行的時候是注釋這代碼的,很奇怪,不知道什么原因?
loop?
fetch?v_cur?into?diy_id,diy_name,diy_date;-----------(

fetch...into... 是SQL 里面獲取游標里的量 用到的 fetch 后是你的游標 into 后是你的變量exit when 是當什么時候退出。后面加條件 是SQL 里面獲取游標里的量 用到的 fetch 后是你的游標 into 后是你的變量exit when 是當什么時候退出。后面加條件

)

?

這三個參數(shù)是My_Test_SP輸出的游標參數(shù)返回的值,剛好3個字段,如果這里少些任何一個字段,plsql會提示錯誤,不能少?
exit when v_cur%notfound; ----------定義跳出循環(huán)的條件,當每頁記錄則跳出?
dbms_output.put_line('報表id='||diy_id||',報表名='||diy_name);--------輸出結果?
end loop;?

close v_cur;---------關閉游標?

dbms_output.put_line(
v_totalPages);?
?

end;

?

?--fetch?的例子

?

??? SET SERVERIUTPUT ON ?
??? DECLARE ?
??? v_ename EMP.ENAME%TYPE; ?
??? v_salary EMP.SAL%TYPE; ?
??? CURSOR c_emp IS SELECT ename,sal FROM emp; ?
??? BEGIN ?
??? OPEN c_emp; ?
????FETCH?c_emp?INTO?v_ename,v_salary; ?
??? DBMS_OUTPUT.PUT_LINE('Salary of Employee'|| v_ename ?
??? ||'is'|| v_salary); ?
????FETCH?c_emp?INTO?v_ename,v_salary; ?
??? DBMS_OUTPUT.PUT_LINE('Salary of Employee'|| v_ename ?
??? ||'is'|| v_salary); ?
????FETCH?c_emp?INTO?v_ename,v_salary; ?
??? DBMS_OUTPUT.PUT_LINE('Salary of Employee'|| v_ename ?
??? ||'is'|| v_salary); ?
??? CLOSE c_emp; ?
??? END ;

總結

以上是生活随笔為你收集整理的PLSQL 循环游标 cursor loop fetch into的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。