sql serve 数据库游标的使用
? 什么是游標(biāo)?
? ?通俗來講,個(gè)人理解,游標(biāo)是對(duì)一個(gè)查詢結(jié)果集,每次取出一條數(shù)據(jù)進(jìn)行處理操作。
? 使用場(chǎng)景:
? ? 例如,我們要修改一個(gè)表300條數(shù)據(jù),且每條數(shù)據(jù)修改的內(nèi)容不一樣,那么平時(shí)用的update dbo.table set 字段名='' where 字段=''就滿足不了需要了。
? ? 游標(biāo)是使用如下:
? ? ?
--select cast(ceiling(rand() * 10000) as int)
DECLARE My_Cursor CURSOR --定義游標(biāo)
FOR (SELECT * FROM TRushBuyOrder) --查出需要的集合放到游標(biāo)中
OPEN My_Cursor; --打開游標(biāo)
FETCH NEXT FROM My_Cursor ; --讀取第一行數(shù)據(jù)
WHILE @@FETCH_STATUS = 0
BEGIN
? ? --你想執(zhí)行的操作
? ? ?--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; --讀取下一行數(shù)據(jù)
--或者
--FETCH NEXT FROM My_Cursor into @number; --讀取下一行數(shù)據(jù),并賦值
END
CLOSE My_Cursor; --關(guān)閉游標(biāo)
DEALLOCATE My_Cursor; --釋放游標(biāo)
GO
轉(zhuǎn)載于:https://www.cnblogs.com/qfby/p/8619674.html
總結(jié)
以上是生活随笔為你收集整理的sql serve 数据库游标的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录 centos samba 安装
- 下一篇: 数据库事务与锁详解