Kursory są mechanizmem do jawnego wyliczania wierszy zestawu wyników, zamiast pobierania go jako takiego.
Jednak, chociaż mogą być wygodniejsze w użyciu dla programistów przyzwyczajonych do pisania While Not RS.EOF Do ...
, zazwyczaj należy ich unikać w procedurach składowanych SQL Server, jeśli jest to w ogóle możliwe — jeśli możesz napisać zapytanie bez użycia kursorów, dajesz optymalizatorowi znacznie większą szansę na znalezienie szybkiego sposobu na jego zaimplementowanie.
Szczerze mówiąc, nigdy nie znalazłem realistycznego przypadku użycia kursora, którego nie dałoby się uniknąć, z wyjątkiem kilku zadań administracyjnych, takich jak zapętlenie wszystkich indeksów w katalogu i ich odbudowa. Przypuszczam, że mogą mieć pewne zastosowania w generowaniu raportów lub korespondencji seryjnej, ale prawdopodobnie bardziej wydajne jest wykonywanie pracy podobnej do kursora w aplikacji, która komunikuje się z bazą danych, pozwalając silnikowi bazy danych robić to, co robi najlepiej — ustawiać manipulacje.