使用隱含資料指標轉換
應用程式可要求資料指標類型,並執行要求類型的伺服器資料指標不支援的 Transact-SQL 陳述式,MicrosoftSQL Server 會傳回錯誤,以指出資料指標類型已變更。此轉換稱為隱含資料指標轉換,有時又稱為資料指標轉化。
以下為觸發 SQL Server 將資料指標隱含地轉換為其他類型的因素。
步驟 |
轉換觸發程序方式 |
順向 |
索引鍵集導向的資料指標 |
動態 |
移至步驟 |
---|---|---|---|---|---|
1 |
Query FROM 子句不參考任何資料表。 |
變成靜態。 |
變成靜態。 |
變成靜態。 |
完成 |
2 |
查詢包含:選取清單彙總 GROUP BY UNION DISTINCT HAVING |
變成靜態。 |
變成靜態。 |
變成靜態。 |
完成 |
3 |
查詢會產生內部工作表,例如 ORDER BY 的資料行並未經過索引轉換。 |
變成索引鍵集。 |
|
變成索引鍵集。 |
5 |
4 |
查詢會參考連結伺服器中的遠端資料表。 |
變成索引鍵集。 |
|
變成索引鍵集。 |
5 |
5 |
沒有唯一索引時,查詢會參考至少一個資料表。僅 Transact-SQL 資料指標。 |
|
變成靜態。 |
|
完成 |
[!附註]
向前快轉的資料指標永遠都不會轉換。
[!附註]
索引鍵集與動態資料指標只有在基礎基底資料表沒有唯一索引時才會轉換,或是如果查詢未直接傳回基底資料表的索引鍵資料行時才會轉換。例如,如果查詢包含彙總函數或固定的運算子。