SQL中游标使用--遍历数据逐行更新:相当于for循环

本文介绍了如何在SQL中使用游标处理数据,特别是在更新网站数据时,游标能有效地进行逐行操作,类似于for循环。通过示例分享了游标的声明与使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更新网站数据的时候遇到的,使用游标很好处理哦,在这里和大家分享下


DECLARE @school varchar(50) 

DECLARE @city     varchar(50)
DECLARE @lg        int
DECLARE @ws       int
DECLARE My_Cursor CURSOR --定义游标
FOR (SELECT 学校,地区,[2013年理工类],[2013年文史类] FROM ScoreSchoolCity where ([2013年理工类] is not null or [2013年文史类] is not null)) 
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor into @school,@city,@lg,@ws ;--读取第一行数据
WHILE @@FETCH_STATUS = 0    --游标读取下一条数据是否成功,0表示成功
    BEGIN 
        PRINT @school; --打印数据 
        print @city;         --打印数据 
        print @lg;           --打印数据 
        print @ws;         --打印数据 
       UPDATE pj.dbo.ScoreSchoolCity SET [理工类2013年录取分数线] =@lg,[文史类类2013年录取分数线]=@ws  WHERE 学校名称 = @school and  招生省区=@city;                --更新数据
        FETCH NEXT FROM My_Cursor into @school,@city,@lg,@ws ; --读取下一行数据
    end
CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标

GO



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值