当前位置: 代码迷 >> Sql Server >> 流表变化后,引用该表的视图还必须得重建
  详细解决方案

流表变化后,引用该表的视图还必须得重建

热度:9   发布时间:2016-04-24 10:38:34.0
源表变化后,引用该表的视图还必须得重建?
本帖最后由 zyaim 于 2014-05-29 10:37:50 编辑
象以下这种情况,我认为源表的变化是不会对视图产生影响,为什么还得重新执行视图的脚本?
如:
源表名为a,一视图为create view va as select a.* from a.
后来表a增加一列,为什么select * from va却不出来刚增加的那一列呢?
怎样才能避免必须手工同步呢?
------解决方案--------------------
修改后要
sp_refreshview
------解决方案--------------------

-- 需要刷新视图  
EXEC sp_refreshview 'va'
GO

-- 以下语句更新所有的视图
SELECT 'EXEC sp_refreshview '''+o.name+'''' 
FROM sys.objects AS o WHERE o.[type]='V'


------解决方案--------------------
视图需要刷新一下才可以。
------解决方案--------------------
http://blog.csdn.net/dba_huangzj/article/details/8426684
  相关解决方案