use bypass
declare my_cursor1 cursor scroll dynamic -- scroll表示可以向前或向后移动 dynamic:表示可写也可读,
for
select CommodityCodeId ,imagePath from [dbo].[Table] -- 定义my_cursor 游标 多个字段对应多个变量
open my_cursor1 -- 打开游标
declare @CommodityCodeId nvarchar ( 128 ) -- 定义一个变量
declare @imagePath nvarchar ( 1024 ) -- 定义一个变量
fetch next from my_cursor1 into @CommodityCodeId ,@imagePath-- 游标停在第一条记录前面,第一次执行,测试有没有记录存在
while ( @@fetch_status = 0 ) -- 取数据,直到-2即没有记录 0 FETCH 语句成功 -1 FETCH 语句失败或此行不在结果集中 -2 被提取的行不存在
begin
print ' DiZhi: ' + @imagePath
print ' ComID: ' + @CommodityCodeId
--SQl 语句 执行对应的SQL
update [dbo].[PayCommodityInformation] set imagePath=@imagePath where CommodityCodeId=@CommodityCodeId
fetch next from my_cursor1 into @CommodityCodeId,@imagePath
end
print @CommodityCodeId --打印最后一条数据信息
print @imagePath --将游标向下移动一行
close my_cursor1 --关闭游标
deallocate my_cursor1 --释放游标
SQLSERVER 使用游标
最新推荐文章于 2024-02-24 12:46:44 发布