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