mssql sqlserver 表结构更新,但视图未更新的处理方法


摘要:
下文讲述我们在sqlserver中,编写使用时,使用*代替列名,当数据表列增加时,视图未得到更新的处理方法
实验环境:sql server 2008 R2


项目背景:
今天同事告诉我,查询视图时,出现找不到列,明明数据表上已经添加了相关列

通过查询视图的脚本内容:

 create view [视图名称] 
 as 
 select * from [数据表名称]


出现找不到列名的原因,是由于数据表新增列后,视图中的相关信息还缓存在数据库中,我们可以通过以下两种方式刷新视图,
使视图中存在新增数据列

解决方法1:
删除视图,重建视图
————————————-
解决方法2:
刷新视图

   EXECUTE sp_refreshview N'视图名称';  

相关阅读:
sp_refreshview 关键字简介