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