掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
深入淺出:mssql 數(shù)據(jù)表的遍歷操作

創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)橋東,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
在mssql中,數(shù)據(jù)表的遍歷操作是一個(gè)非常重要的操作,而且很多時(shí)候也會(huì)用到它。MSSQL的遍歷數(shù)據(jù)表的操作可以用聲明一組參數(shù)(declare)、在循環(huán)體內(nèi)執(zhí)行一段SQL(while循環(huán))、并在退出循環(huán)時(shí),在選定的游標(biāo)中完成動(dòng)作(fetch)來(lái)實(shí)現(xiàn)。
示例代碼:
declare @temp table(id int,name varchar(20))
declare @Id int
declare @Name varchar(20)
declare @CursorName CURSOR
set @CursorName = CURSOR FOR
select Id,Name from Test
open @CursorName
FETCH NEXT FROM @CursorName INTO @Id,@Name
WHILE @@FETCH_STATUS=0
BEGIN
print ‘Id’
print @Id
print ‘Name’
print @Name
FETCH NEXT FROM @CursorName INTO @Id,@Name
END
Close @CursorName
Deallocate @CursorName
首先,聲明一個(gè)臨時(shí)表來(lái)存儲(chǔ)我們的數(shù)據(jù),其中存儲(chǔ)有由Id和Name 組成的信息:
declare @temp table(Id int,Name varchar(20))
然后,聲明一個(gè)游標(biāo)對(duì)象,對(duì)該對(duì)象進(jìn)行設(shè)置,傳入由select Id,Name from Test組成的SQL語(yǔ)句:
declare @CursorName CURSOR
set @CursorName = CURSOR FOR
select Id,Name from Test
下一步,處理上一步聲明的游標(biāo)對(duì)象,使用fetch將游標(biāo)中的數(shù)據(jù)一條一條拉出來(lái),并存到聲明的變量中:
open @CursorName
FETCH NEXT FROM @CursorName INTO @Id,@Name
之后,寫(xiě)while語(yǔ)句根據(jù)需求的操作,如打印出 @id、@UserName,或者放入到另一個(gè)表中等:
while @@FETCH_STATUS=0
BEGIN
print ‘Id’
print @Id
print ‘Name’
print @Name
FETCH NEXT FROM @CursorName INTO @Id,@Name
END
最后,關(guān)閉游標(biāo)并釋放資源:
Close @CursorName
Deallocate @CursorName
總的來(lái)說(shuō),mssql中的遍歷數(shù)據(jù)表的操作主要包括:聲明一個(gè)游標(biāo)對(duì)象,在循環(huán)體內(nèi)執(zhí)行一段SQL,并在退出循環(huán)時(shí),在選定的游標(biāo)中完成動(dòng)作。
成都服務(wù)器托管選創(chuàng)新互聯(lián),先上架開(kāi)通再付費(fèi)。
創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)-網(wǎng)站建設(shè),軟件開(kāi)發(fā)老牌服務(wù)商!微信小程序開(kāi)發(fā),APP開(kāi)發(fā),網(wǎng)站制作,網(wǎng)站營(yíng)銷推廣服務(wù)眾多企業(yè)。電話:028-86922220

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流