oracle通用分頁存儲過程的創(chuàng)建與使用

oracle通用分頁存儲過程的創(chuàng)建與使用

ID:20365322

大?。?9.00 KB

頁數(shù):3頁

時(shí)間:2018-10-10

oracle通用分頁存儲過程的創(chuàng)建與使用_第1頁
oracle通用分頁存儲過程的創(chuàng)建與使用_第2頁
oracle通用分頁存儲過程的創(chuàng)建與使用_第3頁
資源描述:

《oracle通用分頁存儲過程的創(chuàng)建與使用》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、Oracle通用分頁存儲過程的創(chuàng)建與使用Postedon2011-09-0416:27孤獨(dú)者閱讀(724)評論(0)編輯收藏1.創(chuàng)建Oracle包的定義。使用REFCURSOR數(shù)據(jù)類型來處理Oracle結(jié)果集。REFCURSOR足一個(gè)指向PL/SQL查詢所返回的結(jié)果糶的指針。與普通的游標(biāo)不冋,REFCURSOR足一個(gè)變蛍,它足對游標(biāo)的引川,可以在執(zhí)行時(shí)將其沒置為桁向不同的結(jié)果集。使川REFCURSOR輸出參數(shù)可以將Oracle結(jié)構(gòu)化程序的結(jié)果集傳遞回調(diào)川應(yīng)川程序。通過在調(diào)用應(yīng)用程序屮定義OracleType.Cursor數(shù)據(jù)類型的輸出參數(shù),可以訪問REFCURSO

2、R所指向的結(jié)果集。createorreplacepackageMF_PAK_001istypet_cursorisrefcursor;procedureGetDataByPage(p_tableNamevarchar2,p_fieldsvarchar2,p_filtervarchar2zp_sortvarchar2,p_curPagenumber,p_pageSizenumber,pcursorouttcursor,p_totalRecordsoutnumber);endMF_PAK_001;2.創(chuàng)建包體。迕包體中實(shí)現(xiàn)具體的分貝存儲過程。createorrepla

3、cepackagebodyMF_PAK_001isprocedureGetDataByPage(p_tableNamevarchar2,--要齊i句的表名p_fieldsvarchar2,--耍奔詢的字段p_filtervarchar2,--過濾條件p_sortvarchar2,排序字段及方向p_curPagenumber,p_pageSizenumber,pcursorouttcursor,p_totalRecordsoutnumber)isv_sqlvarchar2(1000):=11v_startRecordnumber(4);v_endRecordnumb

4、er(4);begin--獲取總的記錄數(shù)v_sql:二,selectto_number(count(*))from1p_tableName;ifp_filterisnotnullthenv_sql:=v_sql'where1=1and'p_filter;endif;executeimmediatev_sqlintop_totalRecords;v_startRecord:=(p_curPage1)*p_pageSize;v_endRecord:^p_curPage*p_pageSize;v_sql:=1select1p_fields

5、1from(select1p_

6、fields1zrownumrfrom1'(select1p_fields1from1p_tableName;ifp_filterisnotnullthenv_sql:=v_sql'where1=1and'p_filter;endif;ifp_sortisnotnullthenv_sql:^v_sql'orderby'p_sort;endif;v_sql:=v_sql')Awhererownum<=1to_char(v_endRecord)1)Bwherer>=1to_char(v_startRecord);openp_cursorforv_sql;endGetD

7、ataByPage;endMF_PAK_001;2.在Oracle中編寫查詢語川,執(zhí)行包體中的分頁存儲過程,看足否能夠正確執(zhí)行。declarev_curMF_PAK_001.t_cursor;v_jobjobs%rowtype;v_totalRecordsnumber;beginMF_PAK_001.GetDataByPage('jobs',1job_idzjob_title,min_salary,max_salary1,'min_salary>01,'job_idasc1,1,10,v_curzv_totalRecords);fetchv_curintov」ob

8、;whilev_cur%foundloopdbms_output.put_line(v_job.job_id?v_job.job_title);fetchv_curintov_job;endloop;dbms_output.put_line(1總記;玫數(shù)’v_totalRecords);end;3.在.NET巾調(diào)用該分奴存儲過程。stringconnstring="DataSource=ORCL;UserId=hr;Password=Pwdl23456";OracleConnectionconn=newOracleConnection(connString);Or

9、ac1eC

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。