sql server游标循环

2022/2/10 2:14:51

本文主要是介绍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   -- 释放游标


这篇关于sql server游标循环的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程