一。游標的使用:
1.游標的概念
--2.普通游標的定義及執行結果遊表的概念
--游標是oracle系統在記憶體中開發的乙個工作區,在其中存放select查詢語句返回的查詢集;
--在游標所定義的工作區中,存放著乙個指標(pointer),在初始狀態它指向查詢的首記錄,當指標放置在某行後,即對該行資料進行操作;
--游標分為兩類:
--隱式游標
--顯示游標:
--普通游標(靜態游標)
--引用游標(動態游標)
--帶有引數
--使用游標的5個步驟:
--宣告乙個變數,用來儲存記錄的列值;
--宣告游標,並指定查詢
--開啟游標
--一次從游標中獲取乙個記錄。
--關閉游標
--游標的分類:
--游標分為兩大類:顯示游標
隱式游標
其中顯示游標又分為三種:
1.普通游標
2.動態游標
3.帶有引數的游標
--執行結果如下:普通游標:
--宣告一些變數,用來儲存記錄的列值
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的游標是一種臨時資料庫物件,可以臨時存放資料表中的資料行副本,也可以指向儲存在資料表中...