--调用存储过程
exec RefreshAllView
--创建存储过程
CREATE PROCEDURE [dbo].[RefreshAllView] AS
DECLARE MyCursor CURSOR
FOR select Name from dbo.sysobjects where OBJECTPROPERTY(id, N'IsView') = 1 and (not name in ('sysconstraints','syssegments'))
DECLARE @name varchar(50)
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @name
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
begin
if(@name='viewName1' or @name='viewName2')
begin
print '问题视图:'+ @name
end
else
begin
print @name
exec sp_refreshview @name
end
end
FETCH NEXT FROM MyCursor INTO @name
END
CLOSE MyCursor
DEALLOCATE MyCursor
sqlserver刷新全部视图
于 2023-11-09 17:01:54 首次发布