sql server游标循环

一条一条的取数据然后再处理

---step1:匹配情况表,[终端序列号]长度不变
UPDATE b SET b.[厂商]=a.[厂商],b.[设备型号]=a.[设备型号]
FROM  zhouyx.dbo.账面库存 a INNER JOIN zhouyx.dbo.实物库存_1 b ON a.终端序列号=b.终端序列号

---step2:匹配情况表,[终端序列号]长度改变(用到游标)
DECLARE @序列号长度 int
DECLARE order_cursor cursor  --定义游标
for (SELECT LEN(终端序列号) 序列号长度 FROM zhouyx.dbo.实物库存 GROUP BY LEN(终端序列号) )  --为游标赋值一个数据集
    open order_cursor			--打开游标
    fetch next from order_cursor into @序列号长度 --开始循环游标变量(从数据集中拿出第一条数据)
    while @@FETCH_STATUS = 0     --返回被 FETCH语句执行的最后游标的状态 (固定写法)
    begin
	 UPDATE b SET b.[厂商]=a.[厂商],b.[设备型号]=a.[设备型号] FROM  zhouyx.dbo.账面库存 a,zhouyx.dbo.实物库存_1 b WHERE b.[厂商] IS 
         NULL AND RIGHT(a.终端序列号, @序列号长度)=b.终端序列号
	 fetch next from order_cursor into  @序列号长度 --转到下一个游标(取下条数据集)
    end
    close order_cursor      -- 关闭游标
    deallocate order_cursor   -- 释放游标

posted on   新freedom  阅读(267)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示