查詢的結果如下
一切正常這個時候需求發生了變化我們需要改動vCustomersA改動後的腳本如下(為了說明問題我們只是把CompanyName和ContactName互換一下位置)
改動後的視圖vCustomersA
alter view vCustomersA
as
select CustomerID ContactNameCompanyNameContactTitle
AddressCityRegionPostalCodeCountryPhoneFax
from dboCustomers
go
這個時候當我們再次使用視圖vCustomersB查詢客戶ID為ALFKI的資料的時候錯誤已經悄然來臨你注意到了嗎?讓我們來看一下這兩個視圖的查詢結果吧查詢語句如下
select * from vCustomersA where CustomerID = ALFKI
select * from vCustomersB where CustomerID = ALFKI
查詢的結果發生變化你注意到數據的異常了嗎?使用視圖vCustomersB查詢的結果出現了錯誤CompanyName顯示的資料是Maria Anders而在視圖vCustomersA查詢的結果中CompanyName是Alfreds Futterkiste我們僅僅是在vCustomersA中互換了兩個字段的位置再次使用vCustomersB查詢數據卻發生了數據錯位的現象這是什麼原因導致的呢?
[] [] [] [] []
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22387.html