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

来源:互联网 发布:linux新建txt文件命令 编辑:程序博客网 时间:2024/05/22 00:27

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


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



0 0
原创粉丝点击