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

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

軟件下載吧

當前位置:軟件下載吧 > 數據庫 > MS_SQL > SQL開發知識:SQL Server如何通過創建臨時表遍歷更新數據詳解

SQL開發知識:SQL Server如何通過創建臨時表遍歷更新數據詳解

時間:2024-03-12 20:33作者:下載吧人氣:18

前言:

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

為什么不使用游標,而使用創建臨時表?

首先使用游標的方式遍歷數據可能代碼上比較直觀,但是代碼比較繁瑣(聲明游標,打開游標,使用游標,關閉游標和釋放游標)并且不符合操作集合的原則,而且也非常的耗費性能,因此通常數據量比較大的情況下不推薦使用游標。通過臨時表while遍歷數據,更符合我們日常的編程思想操作集合原則,性能上雖不敢保證表使用游標要好多少,但是在把臨時表使用恰當的前提是能減少大量的性能消耗,并且使用起來非常簡單易懂。

通過創建臨時表遍歷更新數據:

注意:這里只是一個簡單的臨時表更新實例。

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

未更新前的數據如下圖所示:

SQL開發知識:SQL Server如何通過創建臨時表遍歷更新數據詳解

臨時表遍歷更新SQL語句:

—-SQL SERVER通過臨時表遍歷數據
— 判斷是否存在(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

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

–查詢臨時表中數據
–SELECT * FROM #temp

set @Num=0 –賦初始值

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

set @Num= @Num + 1

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

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

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

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

–刪除臨時表 #temp
–drop table #temp

標簽MSSQL,SQLServer,技術文檔,數據庫,SQLSERVER

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 黄色网址www | 国产高清自拍一区 | 黄色三级视频在线播放 | 草草在线观看视频 | 国产成人亚洲综合欧美一部 | 欧美高清在线精品一区二区不卡 | 在线视频 中文字幕 | 90岁老太婆一级毛片 | 2018av男人天堂 | 日本美女高清在线观看免费 | 亚洲三级黄| 日韩一级欧美一级在线观看 | 91欧洲在线视精品在亚洲 | 一级毛片视屏 | 欧美日韩永久久一区二区三区 | 亚洲综合久久久久久中文字幕 | 欧美一及片 | 中文在线视频 | 在线观看日韩 | 欧美黄a| 日本高清视频免费在线观看 | 日朝欧美亚洲精品 | 日韩欧美一区二区三区免费观看 | 美女视频黄a视频美女大全 美女视频黄a视频免费全程 | 风流慈禧一级毛片在线播放 | 欧美成人高清在线视频大全 | 亚洲在线中文 | 真人毛片免费全部播放完整 | 一区二区三区四区免费视频 | 久久久久久久久一级毛片 | 日本黄色大片在线播放视频免费观看 | 999国内精品永久免费视频 | 欧美日韩一区二区三区久久 | 亚洲免费一级片 | 久久精品久久精品 | 在线观看毛片视频 | 久久精品免看国产 | 国产理论在线观看 | 爽爽爽爽爽爽a成人免费视频 | 国产区香蕉精品系列在线观看不卡 | 久久不见久久见免费影院www日本 |