游標的定義:
游標(cursor)是處理資料的一種方法,為了檢視或者處理結果集中的資料,游標提供了在結果集中一次一行或者多行前進或向後瀏覽資料的能力。
使用游標:
游標的使用主要分為兩大類:
一、第一種使用方法:
宣告游標
游標在使用之前必須先宣告,可用declare cursor語句宣告游標,其一般格式為:
declare [insensitive][scroll]cursor 《游標名》
is開啟游標
使用open語句的功能開啟游標,實際上就是執行相應的select查詢語句,將查詢結果放到緩衝區。這時游標處於活動狀態,游標指標指向第一條記錄。其一般格式為:
open《游標名》
提取游標
fetch語句是從游標中提取特定的一行。其一般格式為:
fetch
[[next|prior|first|last|absolute n|relative n]from]
《游標名》
[into:《主變數1>,《主變數2>…]
說明:next——如果是在open後第一次執行fetch命令,則返回結果集的第一行,否則使游標的指標指向結果集的下一行,next是預設的選項。
prior——返回結果集當前行的前一行。
first——返回結果集的第一行。
last——返回結果集的最後一行。
absolute n——如果n是正數,返回結果集的第n行,如果n是負數,則返回結果集的倒數第n行
relative n——如果n是正數,返回當前行後的第n行,如果n是負數,則返回當前行開始倒數的第n行。
into——該語句的功能是把游標取出的當前記錄送入到主變數,into後的主變數要與在declare cursor中select的字段相對應。
關閉游標
使用close 語句關閉游標,其一般格式為:
close《游標名》
釋放游標
使用deallocate語句釋放游標,其一般格式為:
deallocate《游標名》。
二、第二種游標使用方法是使用for迴圈語句,因為for迴圈是對查詢結果的遍歷,無需開啟和關閉游標,也不需要抓取游標並下移,所以語句更加簡潔。
示例如下:
declare
cursor cur_1 is
select ename from emp;
begin
for i in cur_1 loop
dbms_output.put_line(i.ename);
end loop;
end;
Oracle游標學習筆記
游標按以下操作進行 parse 解析 bind 繫結 open 開啟 execute 執行 fetch 回取 close 關閉 1.寫自己第乙個游標pl sql declare cursor c s is select from user tables begin open c s 開啟游標 clo...
T SQL 游標學習筆記
首先 在效能上,游標會吃更多的記憶體,減少可用的併發,占用寬頻,鎖定資源,當然還有更多的 量 從游標對資料庫的讀取方式來說,不難看出游標為什麼占用更多的資源,打個比方 當你從atm取錢的時候,是一次取1000效率更高呢,還是取10次100?游標變數支援兩種方式賦值,定義時賦值和先定義後賦值,定義游標...
oracle學習筆記(五)游標
游標在資料庫操作中有著十分重要的作用,它簡單地說就相當於指標,針對表中檢索出來的結果進行操作,游標分為顯示游標和隱式游標。顯示游標是使用者可以自己宣告和操作的,通常用於操作查詢結果集。通過他來處理資料主要分為四步驟,首先是宣告游標,其次是開啟游標,然後讀取游標,最後關閉游標。1.宣告游標必須指定名稱...