SYS_REFCURSOR系統遊標的使用
SYS_REFCURSOR系統遊標的使用
http://blog.itpub.net/26736162/viewspace-2131977/
1.1 函式返回系統遊標
CREATE OR REPLACE FUNCTION F_GET_SYS_REFCURSOR_LHR(P_EMPNO NUMBER) RETURN SYS_REFCURSOR IS CUR_SYS SYS_REFCURSOR; BEGIN OPEN CUR_SYS FOR SELECT LEVEL P_LEVEL, T.EMPNO, T.ENAME, T.MGR, (LPAD(' ', 6 * (LEVEL - 1)) || LEVEL || ':' || T.ENAME || '(' || T.EMPNO || ')') NAME_ALL, SUBSTR(SYS_CONNECT_BY_PATH(T.ENAME, '=>'), 3) ALL_NAME_LEVEL, CONNECT_BY_ROOT(T.ENAME) ROOT, DECODE(CONNECT_BY_ISLEAF, 1, 'Y', 0, 'N') IS_LEAF FROM SCOTT.EMP T START WITH T.EMPNO=P_EMPNO CONNECT BY NOCYCLE MGR = PRIOR EMPNO; RETURN CUR_SYS; EXCEPTION WHEN OTHERS THEN NULL; END; 查詢: SELECT F_GET_SYS_REFCURSOR_LHR(7566) FROM DUAL;
結果如下所示:
1.2 儲存過程返回系統遊標
1.2.1 單個表
CREATE OR REPLACE PROCEDURE PRO_GET_SYS_REFCURSOR_LHR(P_EMPNO NUMBER, SYS_CURSOR OUT SYS_REFCURSOR) IS BEGIN OPEN SYS_CURSOR FOR SELECT * FROM SCOTT.EMP T WHERE T.EMPNO=P_EMPNO; END; / SET SERVEROUTPUT ON DECLARE V_SYS_REFCURSOR_ROWS SYS_REFCURSOR; V_ROWS SCOTT.EMP%ROWTYPE; BEGIN PRO_GET_SYS_REFCURSOR_LHR(7369, V_SYS_REFCURSOR_ROWS); LOOP FETCH V_SYS_REFCURSOR_ROWS INTO V_ROWS; EXIT WHEN V_SYS_REFCURSOR_ROWS%NOTFOUND; DBMS_OUTPUT.PUT_LINE(V_ROWS.EMPNO); END LOOP; CLOSE V_SYS_REFCURSOR_ROWS; END; /
1.2.2 多個表查詢
CREATE OR REPLACE PROCEDURE PRO_GET_SYS_REFCURSOR2_LHR(P_EMPNO NUMBER, SYS_CURSOR OUT SYS_REFCURSOR) IS BEGIN OPEN SYS_CURSOR FOR SELECT A.EMPNO,B.DEPTNO,B.DNAME FROM SCOTT.EMP A, SCOTT.DEPT B WHERE A.DEPTNO = B.DEPTNO AND A.EMPNO = P_EMPNO; END; / CREATE VIEW SCOTT.V_TMP AS SELECT A.EMPNO,B.DEPTNO,B.DNAME FROM SCOTT.EMP A, SCOTT.DEPT B WHERE A.DEPTNO = B.DEPTNO AND 1=2; SELECT * FROM SCOTT.V_TMP; DECLARE V_SYS_REFCURSOR_ROWS SYS_REFCURSOR; V_ROWS SCOTT.V_TMP%ROWTYPE; BEGIN PRO_GET_SYS_REFCURSOR2_LHR(7369, V_SYS_REFCURSOR_ROWS); LOOP FETCH V_SYS_REFCURSOR_ROWS INTO V_ROWS; EXIT WHEN V_SYS_REFCURSOR_ROWS%NOTFOUND; DBMS_OUTPUT.PUT_LINE(V_ROWS.EMPNO||','||V_ROWS.DEPTNO); END LOOP; CLOSE V_SYS_REFCURSOR_ROWS; END;
About Me
........................................................................................................................ ● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除 ● 本文在itpub( http://blog.itpub.net/26736162 )、部落格園( http://www.cnblogs.com/lhrbest )和個人weixin公眾號( xiaomaimiaolhr )上有同步更新 ● 本文itpub地址: http://blog.itpub.net/26736162 ● 本文部落格園地址: http://www.cnblogs.com/lhrbest ● 本文pdf版、個人簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/ ● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA寶典今日頭條號地址: ........................................................................................................................ ● QQ群號: 230161599 (滿) 、618766405 ● weixin群:可加我weixin,我拉大家進群,非誠勿擾 ● 聯絡我請加QQ好友 ( 646634621 ) ,註明新增緣由 ● 於 2019-03-01 06:00 ~ 2019-03-31 24:00 在魔都完成 ● 最新修改時間:2019-03-01 06:00 ~ 2019-03-31 24:00 ● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解 ● 版權所有,歡迎分享本文,轉載請保留出處 ........................................................................................................................ ● 小麥苗的微店 : ● 小麥苗出版的資料庫類叢書 : http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麥苗OCP、OCM、高可用網路班 : http://blog.itpub.net/26736162/viewspace-2148098/ ● 小麥苗騰訊課堂主頁 : https://lhr.ke.qq.com/ ........................................................................................................................ 使用 weixin客戶端 掃描下面的二維碼來關注小麥苗的weixin公眾號( xiaomaimiaolhr )及QQ群(DBA寶典)、新增小麥苗weixin, 學習最實用的資料庫技術。
........................................................................................................................ |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2639781/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL SERVER 遊標的使用SQLServer
- SqlServer遊標的建立與使用SQLServer
- Oracle 動態遊標的使用Oracle
- Oracle顯示遊標的使用及遊標for迴圈Oracle
- mysql 遊標的使用(儲存過程)MySql儲存過程
- oracle 儲存過程遊標的使用Oracle儲存過程
- 關於MySQL遊標的巢狀使用MySql巢狀
- 遊標的學習
- Oracle與MySQL內嵌遊標的使用示例OracleMySql
- 動態遊標的操作~~~
- orcale 之遊標的屬性
- Oracle遊標共享,父遊標和子游標的概念Oracle
- 關於遊標的一些理解
- 以統計分析為目標的資訊系統
- Oracle PL/SQL 關於遊標的介紹OracleSQL
- 關於Oracle遊標的簡單定義Oracle
- 深入理解父遊標,子游標的概念
- oracle遊標的一些基礎問題Oracle
- MYsql-儲存過程-遊標的巢狀MySql儲存過程巢狀
- 計算機系統漫遊計算機
- SQL Story(十)————遊標的應該與不應該 (轉)SQL
- 使用vr-panorama生成一個vr全景漫遊系統(二)VR
- islandswap鏈遊系統開發技術原理丨islandswap鏈遊系統開發詳解
- SQL Server 中建立返回值為表的函式其中包括遊標的使用方法SQLServer函式
- 雲遊世界NFT鏈遊系統開發設計方案
- islandswap鏈遊系統開發(開發說明)丨islandswap鏈遊遊戲系統開發功能遊戲
- NFT鏈遊系統開發(模式定製)NFT元宇宙鏈遊系統開發方案模式元宇宙
- oracle 合併多個sys_refcursorOracle
- 元宇宙+鏈遊系統開發(案例詳細)丨鏈遊系統開發(說明分析)元宇宙
- 鏈遊模式系統開發搭建功能丨鏈遊系統開發專案方案(技術成熟)模式
- NFT鏈遊系統開發|NFT矩陣公排系統搭建矩陣
- 【CURSOR】Oracle繫結變數、執行計劃對遊標的影響Oracle變數
- CSAPP =1= 計算機系統漫遊APP計算機
- 92WCMS頁遊管理平臺系統
- 92WCMS頁遊平臺管理系統
- Javaweb實現旅遊管理系統(商城)(二)JavaWeb
- NFT卡牌鏈遊系統dapp開發元宇宙鏈遊APP元宇宙
- 3D鏈遊系統開發(功能詳情)丨3D鏈遊系統開發(流程原始碼)3D原始碼