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


  共有3357人关注过本帖平板打印复制链接

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

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


加好友 发短信
等级:八尾狐 帖子:1905 积分:16933 威望:0 精华:0 注册:2014/7/29 19:09:00
游标循环出错时如何跳到下一个值继续执行?  发帖心情 Post By:2018/9/28 20:37:00 [只看该作者]

在sql的数据表字段修改后有的视图可能会出错,所以用游标遍历所有视图检查,
...
DECLARE @name VARCHAR(40);
    OPEN MyCursor;
    FETCH NEXT FROM MyCursor
    INTO @name;
    WHILE ( @@fetch_status <> -1 )

        BEGIN

         IF ( @@fetch_status <> -2 )

                BEGIN

                    BEGIN TRY

                       EX EC sp_refreshview @name;

                    END TRY

                    BEGIN CATCH

                        SET @names = @names + ',' + @name --记录出错的视图

                       如何转到下面的绿色语句进入下一个值循环

                    END CATCH;

                END;

 

            FETCH NE XT FROM MyCursor

        INTO @name;

        END;

    CLOSE MyCursor;

    DEALLOCATE MyCursor;

    PRINT @names;



此主题相关图片如下:tim截图20180928202552.jpg
按此在新窗口浏览图片

目的就是想实现 ,当检查一个视图出错时,将此视图名@name记下,再循环检查下一个视图,直到全部检查完成打印出所有出错的视图.
上面的代码执行出错时就停止了,应该如何才能实现?
谢谢!


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