日期:2014-05-17  浏览次数:20488 次

遇到一个很奇怪的情况
有一个view是从一个表中读取的数据,但是今天将表中多加了一列,view中的列居然不变,刷新也没用,alter一下才显示出新的列,用的是select * from
怎么会这样?

------解决方案--------------------
看看我的文章:http://blog.csdn.net/dba_huangzj/article/details/8426684
------解决方案--------------------
视图不是简单的sql语句,还包含N多的信息,比如一些元数据,安全信息等。所以表结构更改了,记得要用 sp_refreshview viewname 来刷新视图
------解决方案--------------------
更改了基表的列后,视图的数据字典不会自动刷新的,

有个存储过程,手动刷新 sp_refreshview
------解决方案--------------------
应该还要看SQL Server版本吧。
我没试过,但我用的是2008 R2,怎么感觉视图中的列是固定的,那表中增加列后,刷新VIEW也不会出来啊。