Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kursor statyczny to jeden, w którym zestaw wyników wydaje się być statyczny. Zwykle nie wykrywa zmian wprowadzonych w członkostwie, kolejności lub wartościach zestawu wyników po otwarciu kursora. Załóżmy na przykład, że statyczny kursor pobiera wiersz, a następnie inna aplikacja aktualizuje ten wiersz. Jeśli statyczny kursor ponownie pobiera wiersz, widoczne wartości są niezmienione, pomimo zmian wprowadzonych przez inną aplikację.
Kursory statyczne mogą wykrywać własne aktualizacje, usuwać i wstawiać, chociaż nie są one wymagane do tego. Czy określony kursor statyczny wykrywa te zmiany, jest zgłaszany za pośrednictwem opcji SQL_STATIC_SENSITIVITY w programie SQLGetInfo. Kursory statyczne nigdy nie wykrywają innych aktualizacji, usuwania i wstawiania.
Tablica stanu wiersza określona przez atrybut instrukcji SQL_ATTR_ROW_STATUS_PTR może zawierać SQL_ROW_SUCCESS, SQL_ROW_SUCCESS_WITH_INFO lub SQL_ROW_ERROR dla dowolnego wiersza. Zwraca SQL_ROW_UPDATED, SQL_ROW_DELETED lub SQL_ROW_ADDED dla wierszy zaktualizowanych, usuniętych lub dodanych przez kursor, zakładając, że kursor może wykrywać takie zmiany.
Kursory statyczne są zwykle implementowane przez blokowanie wierszy w zestawie wyników lub przez utworzenie kopii lub migawki zestawu wyników. Mimo że blokowanie wierszy jest stosunkowo łatwe, ma wadę znacznego zmniejszenia współbieżności. Tworzenie kopii umożliwia większą współbieżność i pozwala kursorowi śledzić swoje własne aktualizacje, usunięcia i wstawienia poprzez modyfikację kopii. Jednak kopia jest droższa i może odbiegać od danych bazowych, ponieważ te dane są zmieniane przez inne osoby.