當前位置:工程項目OA系統(tǒng) > 泛普各地 > 吉林OA系統(tǒng) > 長春OA系統(tǒng) > 長春OA行業(yè)資訊
全面解讀數(shù)據(jù)庫中游標的使用方法
數(shù)據(jù)庫中游標的使用方法(上)
游標是系統(tǒng)為用戶開設的一個數(shù)據(jù)緩沖區(qū),存放SQL語句的執(zhí)行結(jié)果。由系統(tǒng)或用戶以變量的形式定義。用戶可以用SQL語句逐一從游標中獲取記錄,并賦給主變量,交由主語言進一步處理,主語言是面向記錄的,一組主變量一次只能存放一條記錄在某些情況下,需要把數(shù)據(jù)從存放在磁盤的表中調(diào)到計算機內(nèi)存中進行處理,最后將處理結(jié)果顯示出來或最終寫回數(shù)據(jù)庫。這樣數(shù)據(jù)處理的速度才會提高,否則頻繁的磁盤數(shù)據(jù)交換會降低效率。用數(shù)據(jù)庫語言來描述游標就是映射在結(jié)果集中一行數(shù)據(jù)上的位置實體,有了游標,用戶就可以訪問結(jié)果集中的任意一行數(shù)據(jù)了,將游標放置到某行后,即可對該行數(shù)據(jù)進行操作,例如提取當前行的數(shù)據(jù)等。
游標有兩種類型:顯式游標和隱式游標。在程序中用到的SELECT...INTO...查詢語句,一次只能從數(shù)據(jù)庫中提取一行數(shù)據(jù),對于這種形式的查詢和觸發(fā)器操作,系統(tǒng)都會使用一個隱式游標。但是如果要提取多行數(shù)據(jù),就要由程序員定義一個顯式游標,并通過與游標有關(guān)的語句進行處理。顯式游標對應一個返回結(jié)果為多行多列的SELECT語句。
游標一旦打開,數(shù)據(jù)就從數(shù)據(jù)庫中傳送到游標變量中,然后應用程序再從游標變量中分解出需要的數(shù)據(jù),并進行處理。以下將通過詳細的例子為您介紹顯式游標和隱式游標。
顯式游標:
1 定義游標
CURSOR CUR_NAME P1,P2,...
IS
SELECT語句
--------------------
A. 該SELECT語句不可以是SELECT..INTO..語句.
B. 游標可以有參數(shù),這些參數(shù)用來參與SELECT中的WHERE條件.
2 打開游標: OPEN CUR_NAME P1,P2,...
A. 如果有參數(shù),則首先見實際參數(shù)傳遞給SELECT語句
B. 執(zhí)行SELECT語句.其結(jié)果將存在游標中,并且可以用游標名來進行控制.
3 獲取數(shù)據(jù): FETCH CUR_NAME INTO 變量;
A. FETCH從第一行數(shù)據(jù)開始,每FETCH一行數(shù)據(jù),自動跳到下一行.直到FETCH了最后一行數(shù)據(jù)為止.
B. 如果使用普通變量來獲取數(shù)據(jù),那么,應該根據(jù)游標結(jié)構(gòu)中的字段來定義變量.
此時,變量列表與游標中的字段列表在類型,順序,個數(shù)上一致.
C. 也可以使用記錄變量來獲取數(shù)據(jù). "記錄變量 游標名%ROWTYPE";
此時,該記錄變量的結(jié)構(gòu)與游標的結(jié)構(gòu)完全一致.(注意,此處最好不要用表名).
4 關(guān)閉游標: CLOSE CUR_NAME;
例 查詢7788的員工姓名,職務,工資.
DECLARE
V_ENAME EMP.ENAME%TYPE;
V_JOB EMP.JOB%TYPE;
-----------------------
--1.
CURSOR CUR_EMP
IS
SELECT ENAME,JOB FROM EMP WHERE EMPNO = 7788;
BEGIN
--2.
OPEN CUR_EMP;
--3.
FETCH CUR_EMP INTO V_ENAME,V_JOB;
DBMS_OUTPUT.PUT_LINE(V_ENAME||' '||V_JOB);
--4.
CLOSE CUR_EMP;
END;
- 1有效進行虛擬環(huán)境管理的四項措施
- 2OA辦公系統(tǒng)實現(xiàn)企業(yè) “仁義禮智信”
- 3不得不發(fā)展的技術(shù) 云計算風暴來襲
- 4應用技巧:創(chuàng)建你自己的系統(tǒng)存儲過程
- 5用戶是OA辦公自動化系統(tǒng)的應用主體
- 6高效簡化數(shù)據(jù)中心網(wǎng)絡的五項措施
- 7企業(yè)介入云計算 對網(wǎng)格發(fā)展是利好
- 8經(jīng)濟衰退 存儲外包服務日漸升溫
- 9企業(yè)部署虛擬化前要考慮的十大問題
- 10解決服務器安全問題的七個技巧
- 11IT史上最偉大的十大存儲發(fā)明
- 12了解Windows權(quán)限認識局域網(wǎng)共享與安全
- 13分支機構(gòu)網(wǎng)絡管理影響企業(yè)的IP電話管理
- 14專家談企業(yè)核心機密數(shù)據(jù)的安全防范機制
- 15企業(yè)電子郵件安全問題隱憂重重
- 16WEB應用防火墻瞄準盲點防御
- 17開源與SOA醞釀技術(shù)機制與商業(yè)模式變革
- 18五大虛擬化熱門技術(shù):CPU虛擬化居首
- 19教你幾招服務器數(shù)據(jù)備份方法
- 20數(shù)據(jù)中心 迎接巨變
- 21獨家:HIPS和NIPS兩種類型入侵防護系統(tǒng)對比
- 22虛擬化會成為Linux的殺手嗎?
- 23計世獨家:數(shù)據(jù)存儲 向左走還是向右走
- 24分析:虛擬機蔓延會耗費你多少成本
- 25企業(yè)應為HPC系統(tǒng)選擇哪一操作系統(tǒng)
- 26現(xiàn)代城市會展行業(yè)OA軟件行業(yè)中電子商務的應用
- 27Gartner:數(shù)據(jù)中心的操作急需現(xiàn)代化
- 28OA辦公軟件的應用范疇涉及到所有知識性員工
- 29怎樣解決服務器虛擬化造成的混亂
- 30綠色數(shù)據(jù)中心都有哪些量化指標?
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓