日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫 > MS_SQL > SQL開發(fā)知識:SQL Server如何通過創(chuàng)建臨時(shí)表遍歷更新數(shù)據(jù)詳解

SQL開發(fā)知識:SQL Server如何通過創(chuàng)建臨時(shí)表遍歷更新數(shù)據(jù)詳解

時(shí)間:2024-03-12 20:33作者:下載吧人氣:30

前言:

前段時(shí)間新項(xiàng)目上線為了趕進(jìn)度很多模塊的功能都沒有經(jīng)過詳細(xì)的測試導(dǎo)致了生成環(huán)境中的數(shù)據(jù)和實(shí)際數(shù)據(jù)對不上,因此需要自己手寫一個(gè)數(shù)據(jù)庫腳本來更新下之前的數(shù)據(jù)。(線上數(shù)據(jù)庫用是SQL Server2012)關(guān)于數(shù)據(jù)統(tǒng)計(jì)匯總的問題肯定會用到遍歷統(tǒng)計(jì)匯總,那么問題來了數(shù)據(jù)庫中如何遍歷呢?好像并沒有for和foreach這種類型的功能呀,不過關(guān)于數(shù)據(jù)庫遍歷最常見的方法當(dāng)然是大家經(jīng)常會想到的游標(biāo)啦,但是這次我并沒有使用游標(biāo),而是通過創(chuàng)建臨時(shí)表的方式來更新遍歷數(shù)據(jù)的。

為什么不使用游標(biāo),而使用創(chuàng)建臨時(shí)表?

首先使用游標(biāo)的方式遍歷數(shù)據(jù)可能代碼上比較直觀,但是代碼比較繁瑣(聲明游標(biāo),打開游標(biāo),使用游標(biāo),關(guān)閉游標(biāo)和釋放游標(biāo))并且不符合操作集合的原則,而且也非常的耗費(fèi)性能,因此通常數(shù)據(jù)量比較大的情況下不推薦使用游標(biāo)。通過臨時(shí)表while遍歷數(shù)據(jù),更符合我們?nèi)粘5木幊趟枷氩僮骷显瓌t,性能上雖不敢保證表使用游標(biāo)要好多少,但是在把臨時(shí)表使用恰當(dāng)?shù)那疤崾悄軠p少大量的性能消耗,并且使用起來非常簡單易懂。

通過創(chuàng)建臨時(shí)表遍歷更新數(shù)據(jù):

注意:這里只是一個(gè)簡單的臨時(shí)表更新實(shí)例。

我的目的是把TalkingSkillType表中的Sort值更新成為與Id一樣的值!

未更新前的數(shù)據(jù)如下圖所示:

SQL開發(fā)知識:SQL Server如何通過創(chuàng)建臨時(shí)表遍歷更新數(shù)據(jù)詳解

臨時(shí)表遍歷更新SQL語句:

—-SQL SERVER通過臨時(shí)表遍歷數(shù)據(jù)
— 判斷是否存在(object(‘objectname’,‘type’))
IF OBJECT_ID(‘tempdb.dbo.#temp’,’U’) IS NOT NULL DROP TABLE dbo.#temp;

GO
— 聲明變量
DECLARE
@ID AS INT,
@Name AS VARCHAR(50),
@Num AS INT

–數(shù)據(jù)插入臨時(shí)表(select * INTO #Temp from 來源表)
SELECT ID,Name INTO #temp FROM TalkingSkillType

–查詢臨時(shí)表中數(shù)據(jù)
–SELECT * FROM #temp

set @Num=0 –賦初始值

–查詢是否存在記錄,只要存在會一直循環(huán)直到不存在(WHILE EXISTS)
WHILE EXISTS(SELECT ID FROM #temp)
BEGIN

set @Num= @Num + 1

— 取值(把臨時(shí)表中的值賦值給定義的變量)
SELECT top 1 @ID= ID,@Name=Name FROM #temp;

— 輸出操作(用于查看執(zhí)行效果)
PRINT(@Num)

–更新
UPDATE TalkingSkillType SET Sort=@ID where id=@ID

— 刪除本次操臨時(shí)表中的數(shù)據(jù)(避免無限循環(huán))
DELETE FROM #temp WHERE ID=@ID;
END

–刪除臨時(shí)表 #temp
–drop table #temp

標(biāo)簽MSSQL,SQLServer,技術(shù)文檔,數(shù)據(jù)庫,SQLSERVER

相關(guān)下載

查看所有評論+

網(wǎng)友評論

網(wǎng)友
您的評論需要經(jīng)過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: a毛片免费观看 | 欧美日韩99 | 久久精品一区二区三区四区 | 日韩在线一区二区 | 国产在线一区观看 | 国产精品久久久久激情影院 | 久久亚洲国产成人影院 | 三级中文字幕 | 欧美成人一区二区 | 色偷偷女男人的天堂亚洲网 | 免费网站看v片在线香蕉 | 国产99网站 | 国产一级生活片 | 国产日韩免费 | 国产三级播放 | 国产真实搭讪系列 | 亚洲视频日韩 | 久草在线资源网站 | 国产高清在线观看视频手机版 | 日韩美女在线视频 | 免费日本视频 | 成人国产精品视频频 | 女性无套免费网站在线看 | 国产精品久久久久免费a∨ 国产精品久久久久免费视频 | 中文字幕成人免费视频 | 91成人在线免费观看 | 99精品视频一区在线视频免费观看 | 91免费版网站 | 日韩在线第一区 | 最新国产中文字幕 | 亚洲欧美在线观看播放 | 日本成人中文字幕 | 97久久草草超级碰碰碰 | 亚洲免费视频在线观看 | 另类视频区第一页 | 亚洲视频国产精品 | 美女被拍拍拍拍拍拍拍拍 | 国产精品二区页在线播放 | 免费观看性欧美毛片 | 黄a网站| 亚洲视频在线观看网站 |