MSSQLSERVER_107
詳細資料
產品名稱 |
SQL Server |
產品版本 |
10.50 |
產品組建編號 |
|
事件識別碼 |
107 |
事件來源 |
MSSQLSERVER |
元件 |
SQLEngine |
符號名稱 |
P_NOCORRMATCH |
訊息文字 |
資料行前置詞 '%.*ls' 與用於查詢中的資料表名稱或別名名稱不符。 |
說明
查詢的選取清單包含以不正確方式使用資料行前置詞限定的星號 (*)。這項錯誤可能會在下列情況下傳回:
資料行前置詞沒有對應至用於查詢中的任何資料表或別名名稱。例如,下列陳述式會使用別名名稱 (T1) 當做資料行前置詞,但是此別名並未定義於 FROM 子句中。
SELECT T1.* FROM dbo.ErrorLog;
當您在 FROM 子句中提供資料表的別名名稱時,資料表名稱就會指定為資料行前置詞。例如,下列陳述式會使用資料表名稱 ErrorLog 當做資料行前置詞。不過,資料表具有在 FROM 子句中定義的別名 (T1)。
SELECT ErrorLog.* FROM dbo.ErrorLog AS T1;
如果已經在 FROM 子句中提供資料表名稱的別名,您就只能使用此別名當做資料表中資料行的前置詞。
使用者動作
針對在查詢之 FROM 子句中指定的資料表名稱或別名名稱,比對資料行前置詞。例如,您可以依照下列方式更正上述陳述式:
SELECT T1.* FROM dbo.ErrorLog AS T1;
或
SELECT ErrorLog.* FROM dbo.ErrorLog;