SQL Server中的游標

2022-09-12 16:57:36 字數 2384 閱讀 6237

游標平時不怎麼用,以前學過印象也不深了,今天要用查查資料發現,這個跟我平時用臨時表的區別大嗎?好像不大。。可能是我理解不深刻吧。

1

usetest23

declare

@cusnum

varchar(10), @cusname

nvarchar(100), @cusfname

nvarchar(100)--

這邊用nvarchar因為有可能是中文。

4declare cusinfo cursor scroll --

定義游標 --scroll為滾動游標

5for

6select

top10

cardcode, cardname, cardfname

7from

ocrd

8where cardname is

notnull

and cardcode like'c%

'9order

by cardcode desc

10open cusinfo --

開啟游標

11fetch

next

from cusinfo into

@cusnum, @cusname, @cusfname

--抓取下一行游標資料

12while

@@fetch_status=0

--0 fetch 語句成功; -1 fetch 語句失敗或此行不在結果集中; -2 被提取的行不存在

13begin

14print

'customer number:'+

@cusnum+'

| '+'

customer name:'+

@cusname+'

| '+'

customer fname:'+

@cusfname

15fetch

next

from cusinfo into

@cusnum, @cusname, @cusfname

--抓取下一行游標資料

16end

17close cusinfo --

關閉游標

18deallocate cusinfo --

釋放游標

返回結果:

customer number:cvn6653a | customer name:vina kraft ***** co., ltd | customer fname:vina kraft ***** co., ltd

customer number:cvn6652a | customer name:vietnam ***** corp | customer fname:vietnam ***** corp

customer number:cvn6648a | customer name:tuan dung company limited | customer fname:tuan dung company limited

customer number:cvn6645a | customer name:thai duong investment and development joint stock company | customer fname:thai duong investment and development joint stock company

customer number:cvn6623a | customer name:saigon my xuan ***** co., ltd | customer fname:saigon my xuan ***** co., ltd

customer number:cvn6616a | customer name:pulppy corelex (viet nam) co ltd | customer fname:pulppy corelex (viet nam) co ltd

customer number:cvn6583a | customer name:phu an production trading co ltd | customer fname:phu an production trading co ltd

customer number:cvn6568a | customer name:nam minh union co.,ltd | customer fname:nam minh union co.,ltd

customer number:cvn6552a | customer name:lam an trading company ltd | customer fname:lam an trading company ltd

completion time: 2020-08-20t10:48:13.5712104+08:00

SQL Server 中的游標

查詢語句可能返回多條記錄,如果資料量非常大,需要使用游標來逐條讀取查詢結果集中的記錄,應用程式可以根據需要滾動或瀏覽其中的資料。游標通常是在儲存過程中使用的,在儲存過程中使用select語句查詢資料庫時,查詢返回的資料存放在結果集中。使用者在得到結果集後,需要逐行逐列的獲取其中包含的資料,從而在應用...

SQLSERVER 中的游標

sqlserver 中的游標 在關聯式資料庫中,傳統的查詢是面向結果集的,如果你想一行一行的讀取資料並做相關的處理,那麼你就要用到游標 像for迴圈一樣,允許你一行一行的讀取資料 能不用游標就不用游標,在效能上,游標會吃更多的記憶體,減少可用的併發,占用寬頻,鎖定資源,當然還有更多的 量 總之 1....

sql server 中游標的使用

create table borrowbook 建立表學生借書 borrowbook int identity 1,1 stutid int stufeeid int borrowdate datetime,returndate datetime,fee money create table stu...