日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用SQL游標(biāo)遍歷循環(huán)數(shù)據(jù)的方法

如果對數(shù)據(jù)進(jìn)行遍歷循環(huán)操作,通過SQL的游標(biāo)就可以實(shí)現(xiàn),下面就為您詳細(xì)介紹該方法,供您參考,希望對您學(xué)習(xí)SQL數(shù)據(jù)庫能夠有所幫助。

剛察ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

SQL游標(biāo)的優(yōu)點(diǎn)是可以方便從一個(gè)結(jié)果集中進(jìn)行循環(huán)遍歷數(shù)據(jù)在進(jìn)行操作。
1、游標(biāo)允許應(yīng)用程序?qū)Σ樵冋Z句select 返回的行結(jié)果集中每一行進(jìn)行相同或不同的操作,而不是一次對整個(gè)結(jié)果集進(jìn)行同一種操作;
2、它還提供對基于游標(biāo)位置而對表中數(shù)據(jù)進(jìn)行刪除或更新的能力;
3、游標(biāo)把作為面向集合的數(shù)據(jù)庫管理系統(tǒng)和面向行的程序設(shè)計(jì)兩者聯(lián)系起來,使兩個(gè)數(shù)據(jù)處理方式能夠進(jìn)行溝通。
        然爾游標(biāo)也有缺點(diǎn)——復(fù)雜和低效,是游標(biāo)的最大缺點(diǎn),也是致使很多時(shí)候在使用存儲過程中沒有想到游標(biāo)的主要原因。

下面是在實(shí)際工作中的一個(gè)游標(biāo)實(shí)例的應(yīng)用,通過游標(biāo)把A表的數(shù)據(jù)的一列值復(fù)制到B表的列當(dāng)中,其中二個(gè)表都有相同的UID字段,條件是對相同UID的數(shù)據(jù)進(jìn)行復(fù)制.

declare @level varchar(100)
declare @uid varchar(100)
declare cur cursor--定義一個(gè)游標(biāo)
read_only
for select egg_code.user_id,egg_prize_level
from egg_code inner join egg_prize on egg_prize.user_id=egg_code.user_id--為所獲得的數(shù)據(jù)集指定游標(biāo)

open cur--打開游標(biāo)
fetch next from cur into @uid,@level--把提取操作的列數(shù)據(jù)放到局部變量中
while(@@fetch_status=0)--返回被 FETCH 語句執(zhí)行的最后游標(biāo)的狀態(tài),而不是任何當(dāng)前被連接打開的游標(biāo)的狀態(tài)。

begin
--print '等級:'+@level+'--------------用戶ID:'+@uid

update egg_code set prize_level=@level   where user_id=@uid--執(zhí)行操作

--提前下一位信息
fetch next from cur into @uid,@level
end
close cur--關(guān)閉游標(biāo)
deallocate cur--刪除游標(biāo)
go

使用游標(biāo)的順序: 聲名游標(biāo)、打開游標(biāo)、讀取數(shù)據(jù)、關(guān)閉游標(biāo)、刪除游標(biāo)。
由于 @@FETCH_STATUS 對于在一個(gè)連接上的所有游標(biāo)是全局性的,要小心使用 @@FETCH_STATUS 。在執(zhí)行一條 FETCH 語句后,必須在對另一游標(biāo)執(zhí)行另一 FETCH 語句前測試 @@FETCH_STATUS 。在任何提取操作出現(xiàn)在此連接上前,@@FETCH_STATUS 的值沒有定義。
例如,用戶從一個(gè)游標(biāo)執(zhí)行一條 FETCH 語句,然后調(diào)用一個(gè)存儲過程,此存儲過程打開并處理另一個(gè)游標(biāo)的結(jié)果。當(dāng)控制從被調(diào)用的存儲過程返回后,@@FETCH_STATUS 反映的是在存儲過程中執(zhí)行的最后的 FETCH 語句的結(jié)果,而不是在存儲過程被調(diào)用之前的 FETCH 語句的結(jié)果。
使用上面的游標(biāo)是泉州SEO在一次網(wǎng)站砸金蛋活動中,二個(gè)表的數(shù)據(jù)在使用的過程中有部份后期改到程序致使有部份數(shù)據(jù)無法同步,導(dǎo)致前臺查詢的時(shí)候所用到的表無法查到相關(guān)的數(shù)據(jù),沒用游標(biāo)進(jìn)行操作之前試過只用簡單的SQL語句去實(shí)現(xiàn)這樣的同步功能,但是始終無法實(shí)現(xiàn),所以只能使用游標(biāo)來實(shí)現(xiàn)。


本文名稱:用SQL游標(biāo)遍歷循環(huán)數(shù)據(jù)的方法
網(wǎng)站網(wǎng)址:http://m.5511xx.com/article/cdsjocs.html