刷新SqlServer数据库中所有的视图

ALTER PROCEDURE sp_refallview
AS

--刷新所有视图
DECLARE @ViewName VARCHAR(MAX);
DECLARE @i INT;
SET @i = 0;
DECLARE #_cursor CURSOR
FOR
    SELECT  name
    FROM    sysobjects
    WHERE   type = 'V';

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) + '个视图';

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...