sql serve 数据库游标的使用
? 什么是游標?
? ?通俗來講,個人理解,游標是對一個查詢結果集,每次取出一條數據進行處理操作。
? 使用場景:
? ? 例如,我們要修改一個表300條數據,且每條數據修改的內容不一樣,那么平時用的update dbo.table set 字段名='' where 字段=''就滿足不了需要了。
? ? 游標是使用如下:
? ? ?
--select cast(ceiling(rand() * 10000) as int)
DECLARE My_Cursor CURSOR --定義游標
FOR (SELECT * FROM TRushBuyOrder) --查出需要的集合放到游標中
OPEN My_Cursor; --打開游標
FETCH NEXT FROM My_Cursor ; --讀取第一行數據
WHILE @@FETCH_STATUS = 0
BEGIN
? ? --你想執行的操作
? ? ?--UPDATE 表名 SET UserName = UserName + 'A' WHERE CURRENT OF My_Cursor; --更新
? ? ?--DELETE FROM 表名?WHERE CURRENT OF My_Cursor; --刪除
? ? ? declare @number nvarchar(500)
? ? ? set @number='201712251145'+(select cast(ceiling(rand() * 10000) as nvarchar))
? ? ? print @number
? ? ? --update TRushBuyOrder set OrderNumber=@number
? ? FETCH NEXT FROM My_Cursor; --讀取下一行數據
--或者
--FETCH NEXT FROM My_Cursor into @number; --讀取下一行數據,并賦值
END
CLOSE My_Cursor; --關閉游標
DEALLOCATE My_Cursor; --釋放游標
GO
轉載于:https://www.cnblogs.com/qfby/p/8619674.html
總結
以上是生活随笔為你收集整理的sql serve 数据库游标的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录 centos samba 安装
- 下一篇: [转] 使用Docker容器,这些错误千