SQL資料庫 游標

2021-10-06 11:33:07 字數 1966 閱讀 8729

什麼是游標

如何使用游標

游標的作用

游標的優缺點

游標是sql 的一種資料訪問機制。可以將游標簡單的看成是查詢的結果集的乙個指標,可以根據需要在結果集上面來回滾動,瀏覽需要的資料。

普通游標

declare

@username

varchar(20

),@userid

varchar

(100

)declare cursor_name cursor

for--定義游標

select

top10 userid,username from userinfo

order

by userid desc

open cursor_name --開啟游標

fetch

next

from cursor_name into

@userid

,@username

--抓取下一行游標資料

while @@fetch_status=0

begin

print

'使用者id:'

+@userid

+' '

+'使用者名稱:'

+@username

fetch

next

from cursor_name into

@userid

,@username

endclose cursor_name --關閉游標

deallocate cursor_name --釋放游標

滾動游標

--帶scroll選項的游標

set nocount on

declare c scroll cursor

for--scorll 後,有了更多的游標操作(滾動游標)

select

top10 userid,username from userinfo

order

by userid desc

open c

fetch

last

from c --最後一行的資料,並將當前行為指定行

fetch absolute 4

from c --從第一行開始的第4行資料,並將當前行為指定行 這裡的n可正可負,n>0 往下翻,n<0 往上翻

fetch relative 3

from c --相對於當前行的後3行資料,並將當前行為指定行 這裡的n可正可負

fetch relative -

2from c --相對於當前行的前2行資料,並將當前行為指定行

fetch prior from c ----相對於當前行的前1行資料

fetch

first

from c --剛開始第一行的資料,並將當前行為指定行

fetch

next

from c --相對於當前行的後1行資料

close c

deallocate c

1、定位到結果集中的某一行。

2、對當前位置的資料進行讀寫。

3、可以對結果集中的資料單獨操作,而不是整行執行相同的操作。

4、是面向集合的資料庫管理系統和面向行的程式設計之間的橋梁

優點

1、對從表中檢索出的資料進行操作非常靈活

2、允許程式對由查詢語句select返回的行集合中的每一行執行相同或不同的操作,而不是對整個行集合執行同乙個操作。

3、提供對基於游標位置的表中的行進行刪除和更新的能力。

4、游標實際上作為面向集合的資料庫管理系統(rdbms)和面向行的程式設計之間的橋梁,使這兩種處理方式通過游標溝通起來。

缺點

處理大資料量時,效率低下,占用記憶體大;

資料庫 sql游標

1基本知識 declare 定義游標 open 開啟游標 fetch 從游標中取一行資料,每一次提取資料後,游標都指向結果集的下一行 close 關閉游標,使游標失去作用,並且結果集變成未定義,游標關閉可以重開 declare cursor v cursor is 定義游標 select from ...

資料庫游標

資料庫之 游標 轉貼 在資料庫開發過程中,當你檢索的資料只是一條記錄時,你所編寫的事務語句 往往使用select insert 語句。但是我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?游標為我們提供了一種極為優秀的解決方案。1.游標和游標的優點 在資料庫中,游標...

資料庫游標

資料庫游標 2007 10 10 15 40 游標提供了一種對從表中檢索出的資料進行操作的靈活手段,就本質而言,游標實際上是一種能從包括多條資料記錄的結果集中每次提取一條記錄的機制。游標總是與一條t sql 選擇語句相關聯因為游標由結果集 可以是零條 一條或由相關的選擇語句檢索出的多條記錄 和結果集...