共用方式為


索引鍵集衍生資料指標 (Database Engine)

開啟資料指標時,索引鍵集驅動資料指標中的成員資格和資料列順序是固定的。索引鍵集驅動資料指標是由一組唯一的識別碼、索引鍵 (稱為索引鍵集) 所控制。索引鍵是從結果集中唯一識別資料列的一組資料行建立的。索引鍵集是一組取自所有資料列的索引鍵值,這些資料列會在開啟資料指標時對 SELECT 陳述式加以限定。開啟資料指標時,會在 tempdb 中建立索引鍵集驅動資料指標的索引鍵集。

使用者捲動資料指標時,可看見非索引鍵集資料行的資料值變更 (資料指標擁有者所做的變更或其他使用者認可的變更)。資料指標關閉後重新開啟,才能在資料指標看見從資料指標外部插入資料庫的變更。透過資料指標使用 API 函數 (如 ODBC SQLSetPos 函數) 進行的插入作業,可在資料指標最後看到變更。嘗試擷取資料指標開啟後所刪除的資料列,@@FETCH_STATUS 會傳回「遺失資料列」的狀態。更新索引鍵資料行的運作方式,就像刪除舊索引鍵值再插入新索引鍵值一樣。如果不是透過資料指標進行更新作業,就無法看見新的索引鍵值;如果您使用 API 函數 (如 SQLSetPos) 或 Transact-SQL 的 WHERE CURRENT OF 子句進行更新作業,而且 SELECT 陳述式在 FROM 子句中不含 JOIN 條件時,就可以在資料指標最後看見新的索引鍵值。如果插入包含了 FROM 子句中的遠端資料表,就無法看見新的索引鍵值。如果嘗試擷取舊索引鍵值,系統會回應與刪除資料列相同的擷取遺失資料列的狀態。

[!附註]

在遠端資料表上宣告索引鍵集驅動資料指標時,無法使用計算資料行上的索引。您可以建立其他索引,對該遠端資料表提供唯一索引鍵。