六 Oracle中游標的使用

2022-08-29 02:18:07 字數 2088 閱讀 1702

一。游標的使用:

1.游標的概念

--

遊表的概念

--游標是oracle系統在記憶體中開發的乙個工作區,在其中存放select查詢語句返回的查詢集;

--在游標所定義的工作區中,存放著乙個指標(pointer),在初始狀態它指向查詢的首記錄,當指標放置在某行後,即對該行資料進行操作;

--游標分為兩類:

--隱式游標

--顯示游標:

--普通游標(靜態游標)

--引用游標(動態游標)

--帶有引數

--使用游標的5個步驟:

--宣告乙個變數,用來儲存記錄的列值;

--宣告游標,並指定查詢

--開啟游標

--一次從游標中獲取乙個記錄。

--關閉游標

--游標的分類:

--游標分為兩大類:顯示游標

隱式游標

其中顯示游標又分為三種:

1.普通游標

2.動態游標

3.帶有引數的游標

2.普通游標的定義及執行結果

--

普通游標:

--宣告一些變數,用來儲存記錄的列值

declare emptile emp%

rowtype;

--宣告游標,並指定查詢

cursor cur is

select

*from emp where sal>

2000

;

begin

--開啟游標

open

cur;

--一次從游標中獲取乙個記錄。

loop

fetch cur into

emptile;

exit

when cur%

notfound;

s(emptile.ename

||emptile.sal);

endloop;

--關閉游標

close

cur;

end;

執行結果如下:

3.動態游標的使用

--

動態游標

declare myjob varchar2(20):=

'&請輸入你的職位';

emptemp emp

%rowtype; --

1.宣告一些變數,用來儲存行的值

cur sys_refcursor; --

2.宣告游標

mysql varchar2(50

);

begin

mysql:='

select * from emp';

if(myjob is

notnull) then

mysql:

=mysql ||

'where job=

'''|| myjob ||

''''; --

此處的『『』 表示兩個轉譯字元,兩個單引轉譯乙個單引

endif

; s(mysql);

open cur for mysql; --

開啟游標

loop

fetch cur into emptemp; --

4.抓取一行資料到記錄型別,只有fetch 之後,%notfound才被賦予值

exit

when cur%

notfound;

dbms_output.put_line(emptemp.ename

||emptemp.sal);

endloop;

close cur; --

5.關閉游標

end;

輸入要查詢的工作職位:

點選ok檢視執行結果:

oracle游標的使用

當select語句從資料庫中返回的記錄多餘一條時,就可以使用游標 cursor 游標可以理解為一次訪問乙個的一組記錄。select語句將列提取到游標中,然後根據游標取得記錄。使用游標時需要遵從以下的5個步驟 1 宣告一些變數,用於儲存select語句返回列值 2 宣告游標,並制定select語句 3...

oracle游標的使用

游標 cursor 也稱之為游標,從字面意思理解就是游動的游標。游標是對映在結果集中一行資料上的位置實體。游標是從表中檢索出 結果集,並從中每次指向一條記錄進行互動的機制。cursor 游標名 引數名 資料型別 引數名 資料型別 is select 語句 示例 無參游標 cursor c emp i...

ORACLE游標的使用

1 游標的說明 游標是一種向包含多條資料記錄的結果集中每次讀取一行的機制,逐行處理查詢結果,以程式設計的方式訪問資料庫。可以把游標當成指標,可以指定結果集中的任何位置,然後允許使用者對指定位置的資料進行操作。sql的游標是一種臨時資料庫物件,可以臨時存放資料表中的資料行副本,也可以指向儲存在資料表中...