美文网首页数据之美SQL ServerSQL server
SqlServer使用For循环结合游标更新数据

SqlServer使用For循环结合游标更新数据

作者: 天天向上卡索 | 来源:发表于2018-12-27 15:36 被阅读0次

SqlServer使用For循环更新数据

Intro

有时候,可能会有一些需求更新一部分数据,需要遍历,但是又不想专门写一个小工具,还是觉得写个 sql 语句比较方便。

Let's do it

话不多说,亮代码,Show me the code:

DECLARE @projectId nvarchar(36) 
DECLARE My_Cursor CURSOR --定义游标
FOR (SELECT OriginalProjectId FROM dbo.CommunityProjects
WHERE CommunityId = -1) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @projectId;
WHILE @@FETCH_STATUS = 0
    BEGIN
        UPDATE dbo.CommunityProjects
        SET CommunityId = CAST(ISNULL((
            SELECT ZhongyiCommunityId FROM dbo.CommunityMappings
            WHERE FangdiCommunityId = @projectId
        ),'-1') AS INT)
        WHERE OriginalProjectId = @projectId

        FETCH NEXT FROM My_Cursor INTO @projectId;
    END
CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标

Reference

相关文章

网友评论

    本文标题:SqlServer使用For循环结合游标更新数据

    本文链接:https://www.haomeiwen.com/subject/elorlqtx.html