象以下这种情况,我认为源表的变化是不会对视图产生影响,为什么还得重新执行视图的脚本?
如:
源表名为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