Udostępnij przez


Dynamic Cursors (Database Engine)

Dynamiczne kursory są przeciwieństwo statyczne kursory.Dynamiczne kursory odzwierciedla wszystkie zmiany wprowadzone do wierszy zestaw podczas przewijania za pomocą kursor ich wyników.Można zmienić wartości danych, zamówienia i członkostwa wierszy zestaw wyników na każdego pobrania.Wszystkie instrukcje UPDATE, INSERT i DELETE wprowadzone przez wszystkich użytkowników są widoczne za pomocą kursor.Aktualizacje są widoczne natychmiast, jeśli odbywa się przy użyciu kursor, za pomocą jednej funkcja interfejsu API np. SQLSetPos or the Transact-SQL CURRENT z klauzula WHERE. Aktualizacje wprowadzone poza kursor nie są widoczne, dopóki nie są one zobowiązane, tylko wtedy, gdy poziom izolacji transakcji kursor jest ustawiony do odczytania nieprzydzielonych.

kursor dynamiczny nigdy nie planów użycia indeksów przestrzennej.

Uwaga

Jeśli plan wykonać, wybranego do wykonać kwerendy dla dynamicznych kursor korzysta skanowania sterty, a warunki są takie, że został nabyty Blokada strona lub tabela, usuwanie wiersza może spowodować całej strona, przy czym przydziałów.W takim przypadek znaczniki, używany przez dynamiczne kursory do pozycjonowania może stać się nieprawidłowe i kolejnych pobranie z kursor może zakończyć się niepowodzeniem z powodu błędu 16931.Możliwe rozwiązania obejmują tworzenie indeks klastrowany w tabela, przy użyciu typu kursor różnych lub oceniania, czy można zapobiec strona i blokowania poziom tabela.

Uwaga

W SQL Server, kursor dynamiczny aktualizacje worktable zawsze znajdują się w miejscu. Oznacza to nawet jeśli kolumn klucz w przypadku zmiany jako część tej aktualizacji, bieżący wiersz jest odświeżany.W SQL Server 2000, bieżący wiersz został oznaczony jako usunięty (co byłoby zestaw kluczy nie w miejsce liczby kursorów), ale wiersz nie została umieszczona na końcu worktable (jak dla zestawu kluczy kursorów). Wynik był że odświeżania kursor nie można odnaleźć wiersza i zgłosił brak.Program SQL Server przechowuje worktable kursor w synchronizacji i odświeżania jest w stanie znaleźć wiersza, ponieważ ma on nowe klucze.