我们在使用SqlServer时经常遇到这种情况,当修改某个表的结构后,相关的视图就不对了而导致程序错误,因此就有个下面这个存储过程。

刷新SqlServer所有视图元数据的存储过程CREATE PROCEDURE RefreshAllView AS
刷新SqlServer所有视图元数据的存储过程
DECLARE MyCursor CURSOR
刷新SqlServer所有视图元数据的存储过程
FOR select Name from dbo.sysobjects where  OBJECTPROPERTY(id, N'IsView'= 1 and (not name in ('sysconstraints','syssegments'))
刷新SqlServer所有视图元数据的存储过程
刷新SqlServer所有视图元数据的存储过程
DECLARE @name varchar(40)
刷新SqlServer所有视图元数据的存储过程
OPEN MyCursor
刷新SqlServer所有视图元数据的存储过程
刷新SqlServer所有视图元数据的存储过程
FETCH NEXT FROM MyCursor INTO @name
刷新SqlServer所有视图元数据的存储过程
WHILE (@@fetch_status <> -1)
刷新SqlServer所有视图元数据的存储过程
BEGIN
刷新SqlServer所有视图元数据的存储过程    
IF (@@fetch_status <> -2)
刷新SqlServer所有视图元数据的存储过程    
begin
刷新SqlServer所有视图元数据的存储过程     
exec sp_refreshview @name
刷新SqlServer所有视图元数据的存储过程             
end
刷新SqlServer所有视图元数据的存储过程    
FETCH NEXT FROM MyCursor INTO @name
刷新SqlServer所有视图元数据的存储过程
END
刷新SqlServer所有视图元数据的存储过程
刷新SqlServer所有视图元数据的存储过程
CLOSE MyCursor
刷新SqlServer所有视图元数据的存储过程
DEALLOCATE MyCursor

相关文章:

  • 2022-12-23
  • 2021-09-05
  • 2022-12-23
  • 2022-02-06
  • 2022-12-23
  • 2022-12-23
  • 2021-09-23
  • 2021-12-25
猜你喜欢
  • 2021-05-20
  • 2022-12-23
  • 2022-01-10
  • 2022-12-23
  • 2021-08-17
  • 2021-09-18
相关资源
相似解决方案