欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mssql數(shù)據(jù)庫游標批量修改符合條件記錄的方法

 更新時間:2014年05月15日 16:26:52   作者:  
這篇文章主要介紹了mssql數(shù)據(jù)庫游標如何批量修改符合條件的記錄,需要的朋友可以參考下
需求:由于項目剛上傳,沒有票數(shù),為了表現(xiàn)出一定的人氣,需要在一開始把各項目的票數(shù)賦一個值 ,

但每個項目不能一樣,否則容易看出問題,呵呵 。
復制代碼 代碼如下:

DECLARE @Id varchar(50)
DECLARE My_Cursor CURSOR --定義游標
FOR (SELECT Id FROM dbo.kinpanAwardProject where session=9) --查出需要的集合放到游標中
OPEN My_Cursor; --打開游標
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ù),使用隨機數(shù)。
FETCH NEXT FROM My_Cursor INTO @Id; --讀取下一行數(shù)據(jù)(將查詢的Id放到@Id變量中)
END
CLOSE My_Cursor; --關(guān)閉游標
DEALLOCATE My_Cursor; --釋放游標
GO

 

還有一種用法,可能更加好,我認為,如果不需要對id進行判斷的話,在修改時就不需要where查詢,直接修改游標當前位置會更快。
復制代碼 代碼如下:

DECLARE My_Cursor CURSOR --定義游標
FOR (SELECT * FROM dbo.MemberAccount) --查出需要的集合放到游標中
OPEN My_Cursor; --打開游標
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)閉游標
DEALLOCATE My_Cursor; --釋放游標
GO

相關(guān)文章

最新評論