这是使用游标更新表字段,循环更新的表需要有一个字段是有规律的自增长列,如本例中的字段:standard_parts_no,它的值为MBB2001,MBB2002,MBB2003...
本例中还有一个知识点,怎么插入自定义有规律的列,如本例中的字段:standard_parts_no,
'MBB2'+right('000'+rtrim(@i),3)
DECLARE @erpNo varchar(50)
declare @i int
set @i=1
DECLARE My_Cursor CURSOR --定义游标
FOR (select [零件编号] from sheet2$ where [序号] between 4473 and 4528) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @erpNo; --读取第一行数据(将sheet2$表中的[零件编号]放到@erpNo变量中)
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @erpNo+convert(varchar,@i); --打印数据(打印sheet2$表中的[零件编号])
UPDATE table1 SET erp_no = @erpNo WHERE standard_parts_no='MBB2'+right('000'+rtrim(@i),3); --更新数据
FETCH NEXT FROM My_Cursor INTO @erpNo; --读取下一行数据(将sheet2$表中的[零件编号]放到@erpNo变量中)
set @i=@i+1
END
CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标
GO