來(lái)源:北大青鳥(niǎo)飛迅校區(qū)|發(fā)布時(shí)間:2013-05-04 10:14:13
以下的內(nèi)容是對(duì)Oracle游標(biāo)的介紹。以O(shè)racle顯示游標(biāo)為主,本文講述了如何打開(kāi)Oracle游標(biāo),以及想關(guān)的實(shí)際操作,如果你對(duì)其相關(guān)的實(shí)際操作有興趣了解的話,以下的文章將會(huì)給你提供相關(guān)的知識(shí)。
打開(kāi)Oracle游標(biāo)
使用游標(biāo)中的值之前應(yīng)該首先dewengz打開(kāi)游標(biāo),打開(kāi)游標(biāo)初始化查詢處理。打開(kāi)游標(biāo)的語(yǔ)法是:
1.OPEN cursor_name
cursor_name是在聲明部分定義的游標(biāo)名。
例:
1.OPEN C_EMP;
關(guān)閉Oracle游標(biāo)
語(yǔ)法:
1.CLOSE cursor_name
例:
1.CLOSE C_EMP;
關(guān)閉Oracle游標(biāo)
從游標(biāo)得到一行數(shù)據(jù)使用FETCH命令。每一次提取數(shù)據(jù)后,游標(biāo)都指向結(jié)果集的下一行。語(yǔ)法如下:
1.FETCH cursor_name INTO variable[,variable,。..]
對(duì)于SELECT定義的Oracle游標(biāo)的每一列,F(xiàn)ETCH變量列表都應(yīng)該有一個(gè)變量與之相對(duì)應(yīng),變量的類型也要相同。
例:
1.SET SERVERIUTPUT ON
2.DECLARE
3.v_ename EMP.ENAME%TYPE;
4.v_salary EMP.SALARY%TYPE;
5.CURSOR c_emp IS SELECT ename,salary FROM emp;
6.BEGIN
7.OPEN c_emp;
8.FETCH c_emp INTO v_ename,v_salary;
9.DBMS_OUTPUT.PUT_LINE(‘Salary of Employee’|| v_ename
10.||‘is’|| v_salary);
11.FETCH c_emp INTO v_ename,v_salary;
12.DBMS_OUTPUT.PUT_LINE(‘Salary of Employee’|| v_ename
13.||‘is’|| v_salary);
14.FETCH c_emp INTO v_ename,v_salary;
15.DBMS_OUTPUT.PUT_LINE(‘Salary of Employee’|| v_ename
16.||‘is’|| v_salary);
17.CLOSE c_emp;
18.END
這段代碼無(wú)疑是非常麻煩的,如果有多行返回結(jié)果,可以使用循環(huán)并用Oracle游標(biāo)屬性為結(jié)束循環(huán)的條件,以這種方式提取數(shù)據(jù),程序的可讀性和簡(jiǎn)潔性都大為提高,下面我們使用循環(huán)重新寫上面的程序:
1.SET SERVERIUTPUT ON
2.DECLARE
3.v_ename EMP.ENAME%TYPE;
4.v_salary EMP.SALARY%TYPE;
5.CURSOR c_emp IS SELECT ename,salary FROM emp;
6.BEGIN
7.OPEN c_emp;
8.LOOP
9.FETCH c_emp INTO v_ename,v_salary;
10.EXIT WHEN c_emp%NOTFOUND;
11.DBMS_OUTPUT.PUT_LINE(‘Salary of Employee’|| v_ename
12.||‘is’|| v_salary);
13.END
上述的相關(guān)內(nèi)容就是對(duì)Oracle游標(biāo)的具體操作的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。
全程面授,不高薪都難
申請(qǐng)成功后,我們將在24小時(shí)內(nèi)與您聯(lián)系
招生熱線: 4008-0731-86 / 0731-82186801
學(xué)校地址: 長(zhǎng)沙市天心區(qū)團(tuán)結(jié)路6號(hào)
Copyright © 2006 | 湖南大計(jì)信息科技有限公司 版權(quán)所有
湘ICP備14017520號(hào)-3