Foxtable(狐表)用户栏目专家坐堂 → 游标循环出错时如何跳到下一个值继续执行?


  共有3358人关注过本帖树形打印复制链接

主题:游标循环出错时如何跳到下一个值继续执行?

帅哥哟,离线,有人找我吗?
HappyFt
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1905 积分:16933 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/10/4 20:47:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:tim图片20181004204159.png
图片点击可在新窗口打开查看

执行那个储存过程或者选中里面的语句直接执行会出错,也就是游标遍历检查视图时只要出错一个后后面的全部视图都归到出错的视图里面了,其实下面出错的视图只有几个,
我只要显示出所有会出错的视图

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1905 积分:16933 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/10/4 20:52:00 [只看该作者]

出错的视图:,uv_sc095,uv_scrk100_1,uv_mps04_1,uv_sc100........
这些显示的只有uv_sc095这个视图有错,因为改动了基表的字段,但后面的这些个都没有错,应该显示在正确的视图中,而不是在出错的视图中

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/4 22:48:00 [只看该作者]

参考

 
begin
    DECLARE @names NVARCHAR(MAX);
    DECLARE @name VARCHAR(40);
    DECLARE @result int;
     SET @names = '';
     
    DECLARE MyCursor CURSOR
    FOR
        SELECT  name
        FROM    dbo.sysobjects
        WHERE   OBJECTPROPERTY(id, N'IsView') = 1
                AND ( NOT name IN ( 'sysconstraints', 'syssegments' )
                    );
    OPEN MyCursor;
    FETCH NEXT FROM MyCursor
    INTO @name;
    WHILE ( @@fetch_status <> -1 )
        BEGIN
            IF ( @@fetch_status <> -2 )
                BEGIN
                   BEGIN TRY
                       EXEC sp_refreshview @name;
                    END TRY
                    BEGIN CATCH
                        SET @names = @names + ',' + @name --记录出错的视图
                        ROLLBACK;
                        FETCH NEXT FROM MyCursor INTO @name;

                    END CATCH;
                END;
            FETCH NEXT FROM MyCursor
        INTO @name;
        END;
    CLOSE MyCursor;
    DEALLOCATE MyCursor;
    PRINT @names;
end

[此贴子已经被作者于2018/10/4 22:47:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1905 积分:16933 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2018/10/4 23:07:00 [只看该作者]

可以了,谢谢!

 回到顶部
总数 24 上一页 1 2 3