mssql數(shù)據(jù)庫游標(biāo)批量修改符合條件記錄的方法
但每個(gè)項(xiàng)目不能一樣,否則容易看出問題,呵呵 。
DECLARE @Id varchar(50)
DECLARE My_Cursor CURSOR --定義游標(biāo)
FOR (SELECT Id FROM dbo.kinpanAwardProject where session=9) --查出需要的集合放到游標(biāo)中
OPEN My_Cursor; --打開游標(biāo)
FETCH NEXT FROM My_Cursor INTO @Id; --讀取第一行數(shù)據(jù)(將Id放到@Id變量中)
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @Id; --打印數(shù)據(jù)(Id)
UPDATE dbo.kinpanAwardProject SET ProTicketCount = cast( floor(rand()*30) as int)+40 WHERE Id = @Id; --更新數(shù)據(jù),使用隨機(jī)數(shù)。
FETCH NEXT FROM My_Cursor INTO @Id; --讀取下一行數(shù)據(jù)(將查詢的Id放到@Id變量中)
END
CLOSE My_Cursor; --關(guān)閉游標(biāo)
DEALLOCATE My_Cursor; --釋放游標(biāo)
GO

還有一種用法,可能更加好,我認(rèn)為,如果不需要對(duì)id進(jìn)行判斷的話,在修改時(shí)就不需要where查詢,直接修改游標(biāo)當(dāng)前位置會(huì)更快。
DECLARE My_Cursor CURSOR --定義游標(biāo)
FOR (SELECT * FROM dbo.MemberAccount) --查出需要的集合放到游標(biāo)中
OPEN My_Cursor; --打開游標(biāo)
FETCH NEXT FROM My_Cursor ; --讀取第一行數(shù)據(jù)
WHILE @@FETCH_STATUS = 0
BEGIN
--UPDATE dbo.MemberAccount SET UserName = UserName + 'A' WHERE CURRENT OF My_Cursor; --更新
--DELETE FROM dbo.MemberAccount WHERE CURRENT OF My_Cursor; --刪除
FETCH NEXT FROM My_Cursor; --讀取下一行數(shù)據(jù)
END
CLOSE My_Cursor; --關(guān)閉游標(biāo)
DEALLOCATE My_Cursor; --釋放游標(biāo)
GO
相關(guān)文章
安裝SQL2005時(shí)出現(xiàn)的版本變更檢查SKUUPGRADE=1問題的解決方法
這篇文章主要介紹了安裝SQL2005時(shí)出現(xiàn)的版本變更檢查SKUUPGRADE=1問題的解決方法,需要的朋友可以參考下2015-01-01SQLServer2005 Output子句獲取剛插入的ID值
SQLServer2005的Output子句獲取剛插入的ID值2009-08-08SQL SERVER 2005數(shù)據(jù)庫還原的方法
這篇文章主要介紹了SQL SERVER 2005數(shù)據(jù)庫還原的方法,有需要的朋友可以參考一下2013-11-11MSSQL2005在networkservice權(quán)限運(yùn)行附加數(shù)據(jù)庫報(bào)(Microsoft SQL Server,錯(cuò)誤:
無法打開物理文件 "XXXXXXXXXXXXX"。操作系統(tǒng)錯(cuò)誤 5:"5(拒絕訪問。)"。 (Microsoft SQL Server,錯(cuò)誤: 5120)2012-11-11讓sql2005運(yùn)行在獨(dú)立用戶下出現(xiàn) WMI 提供程序錯(cuò)誤的解決方式
您還有 %1 的時(shí)間注銷,如果您 在此時(shí)間到之后仍沒有注銷,您的會(huì)話 將會(huì)斷開,任何打開的文件或設(shè)備 就可能丟失數(shù)據(jù)2012-11-11簡(jiǎn)單有用的SQL腳本 (行列互轉(zhuǎn),查詢一個(gè)表內(nèi)相同紀(jì)錄等)
本文推薦的SQL腳本都是很實(shí)用的哦,學(xué)會(huì)了,對(duì)在工作中得心應(yīng)手,一起來學(xué)習(xí)學(xué)習(xí)吧。2010-04-04SQLSERVER2005 中樹形數(shù)據(jù)的遞歸查詢
在園子里看到一個(gè)文章,涉及到樹形數(shù)據(jù)的遞歸查詢,覺得有更好的方法,就隨手寫一個(gè),以備用之2011-10-10配置 SQLServer2005 以允許遠(yuǎn)程連接
為 SQL Server 2005 Express Edition 或 SQL Server 2005 Developer Edition 啟用遠(yuǎn)程連接/2009-11-11