多个表添加字段之后统一刷新所有视图

 

--刷新所有视图

DECLARE @ViewName VARCHAR(MAX);

DECLARE @i INT;

SET @i = 0;

DECLARE #_cursor CURSOR

FOR

    SELECT  name

    FROM    sysobjects

    WHERE   type = 'V' 

AND name NOT in ('vwCO_CostItem');--有些视图不需要了所以排除一下

 

OPEN #_cursor;

 

FETCH NEXT FROM #_cursor INTO @ViewName;

 

WHILE @@fetch_status = 0

    BEGIN

        PRINT '成功刷新视图: ' + @ViewName; 

        EXEC sp_refreshview @ViewName;  

        SET @i = @i + 1; 

        FETCH NEXT FROM #_cursor INTO @ViewName;

    END;

 

CLOSE #_cursor;

DEALLOCATE #_cursor;

PRINT '刷新视图完成';

PRINT '共成功刷新' + CONVERT(VARCHAR(10), @i) + '个视图';

 

 

posted @ 2018-06-29 15:52  Allen6167  阅读(170)  评论(0编辑  收藏  举报