Udostępnij za pośrednictwem


Kursory zestawu kluczy (aparat bazy danych)

Członkostwa i kolejność wierszy w kursor, którego podstawę stanowi zestaw kluczy są stałe, gdy kursor jest otwarty.Kursory zestawu kluczy są kontrolowane przez zestaw unikatowych identyfikatorów, klucze, znany jako zestaw kluczy.Klucze są zbudowane z zestaw kolumn, które jednoznacznie identyfikują wiersze zestaw wyników.Zestaw kluczy jest zestaw wartości klucz z wierszy, które kwalifikuje do instrukcja SELECT w czas kursor został otwarty.Zestaw kluczy dla kursor, którego podstawę stanowi zestaw kluczy jest wbudowana w tempdb przy otwieraniu kursor.

Zmiany wartości danych w kolumnach nonkeyset (przez właściciela kursor lub popełnionych przez innych użytkowników) są widoczne jako użytkownik przewija kursor.Wstawia w bazie danych poza kursor nie są widoczne w kursora, chyba że kursor jest zamknięta i ponownie otworzyć.Wstawia dokonane za pomocą kursor za pomocą funkcja interfejsu API, takich jak ODBC SQLSetPos funkcja są widoczne na końcu kursor."Brakujący wiersz" zwraca @@ FETCH_STATUS stan podczas próby pobrania wierszy usuwane po kursor został otwarty.Aktualizacja do kolumna klucz działa podobnie jak usuwanie starych wartości klucz następuje Wstaw nowe wartości klucz.Nowa wartość klucz nie jest widoczny, jeśli aktualizacja nie została dokonana przez kursor; jest on widoczny na końcu kursor, jeśli aktualizacja została stworzona przez kursor za pomocą funkcja API takich jak SQLSetPos lub Transact-SQL gdzie bieżący z klauzula i instrukcja SELECT nie zawiera warunku sprzężenia w klauzula FROM.Nowa wartość klucz nie jest widoczny, jeśli zawierał Wstaw tabela zdalna w klauzula FROM.Próby pobrania starą wartość klucz uzyskać w tym samym Brak wierszy pobrania stanie jako usunięty wiersz.

Ostrzeżenie

Nie można użyć indeksu dla kolumny obliczanej, deklarując kursor, którego podstawę stanowi zestaw kluczy w tabela zdalna.Można utworzyć indeks zapewnienie unikatowych kluczy dla tej tabela zdalna.