sqlserver更新数据表结构增加新字段时,和它相关联的视图出现错列现象


sqlserver在已有表的基础上新增一列时,跟他相关联的试图出现列错位现象

表user原来的结构如下:

表order原来结构如下:

 

原试图:

SELECT     dbo.[order].userid, dbo.[order].ordernumber, dbo.[order].price, dbo.[user].name, dbo.[user].sex
FROM         dbo.[order] LEFT OUTER JOIN
                      dbo.[user] ON dbo.[order].userid = dbo.[user].id

视图查询结果:

当order表增加一个productid字段:

 再次查询视图时结果:

order表productid的内容将替换掉user表name字段,然而name字段将后移一列

 

解决方法:

  sp_refreshview orderview   (orderivew是视图名称)

  运行这段会让指定的视图在下次运行时重新编译 

  基础表修改后, 视图结构自动更新的最简单的方式就是让相关的视图重新编译. 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM