PLSQL 循环游标 cursor loop fetch into
PLSQL 循環(huán)游標(biāo) cursor 的一點(diǎn)心得體會(huì)?
set serveroutput on---------------打印輸出信息,默認(rèn)是FALSE?
declare --------------------申明變量,分號(hào)結(jié)束?
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;?
--調(diào)用的sp,參數(shù)分別是pages number 要查詢的頁(yè)數(shù),numberPerPage number 每頁(yè)顯示幾條?? ,tatalPages number 輸出參數(shù),返回結(jié)果集總頁(yè)數(shù) , resultCursor cursor 結(jié)果集游標(biāo),返回查詢結(jié)果?
My_Test_SP(v_pages,v_numberPerPage,v_totalPages,v_cur);?
------------第一種循環(huán)游標(biāo)方式,最簡(jiǎn)單高效?
for c in c_list loop?
dbms_output.put_line('用戶的id='||c.id); -------------輸出結(jié)果集?
end loop;?
----------第二種循環(huán)游標(biāo)方式?
open v_cur ------打開(kāi)游標(biāo),但是如果有這代碼會(huì)提示錯(cuò)誤,所以我運(yùn)行的時(shí)候是注釋這代碼的,很奇怪,不知道什么原因?
loop?
fetch?v_cur?into?diy_id,diy_name,diy_date;-----------(
)
?
這三個(gè)參數(shù)是My_Test_SP輸出的游標(biāo)參數(shù)返回的值,剛好3個(gè)字段,如果這里少些任何一個(gè)字段,plsql會(huì)提示錯(cuò)誤,不能少?
exit when v_cur%notfound; ----------定義跳出循環(huán)的條件,當(dāng)每頁(yè)記錄則跳出?
dbms_output.put_line('報(bào)表id='||diy_id||',報(bào)表名='||diy_name);--------輸出結(jié)果?
end loop;?
close v_cur;---------關(guān)閉游標(biāo)?
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 ;
總結(jié)
以上是生活随笔為你收集整理的PLSQL 循环游标 cursor loop fetch into的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: STM32开发 -- 开发环境搭建
- 下一篇: 日常生活小技巧 -- 网络调试助手