在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记下,再循环检查下一个视图,直到全部检查完成打印出所有出错的视图.
上面的代码执行出错时就停止了,应该如何才能实现?
谢谢!