[SQL Server] View 中的語法不要用 Select *
[情境] 資料表擴欄位, 導致檢視表欄位內容有誤.
[環境] SQL Server 2005 (2000 亦會有同樣情形)
原始Table: 員工及組織
原始View : 員工用* , 並接組織名稱欄位
原作者說: 這樣子, 資料表擴欄位就不用一直來改view了... (大誤)
原始 View Data: 請注意看組織名稱
員工資料表擴欄位: 年齡及性別
變更後 View Data: 組織名稱出包了... 冏
解法:
重新建立檢視表,並將Select * 移除,改為固定欄位。
補充:
若少欄位
會出現錯誤訊息:指定的資料行名稱數量大於所定義的資料行。
查找一下系統資料表, 有出現不合的地方喔~
不過我找不到有關sys.all_columns的資料, 也不明白微軟實作的方式, 只能到此打住. 謝謝觀賞