SQL Server CURSOR (Polski)

Podsumowanie: w tym samouczku nauczysz się, jak używać kursora SQL Server do przetwarzania zestawu wyników, po jednym wierszu na raz.

SQL działa w oparciu o zbiór, np. SELECT instrukcja zwraca zestaw wierszy, który jest nazywany zbiorem wyników. Jednak czasami możesz chcieć przetworzyć zestaw danych wiersz po wierszu. Tutaj do gry wchodzą kursory.

Co to jest kursor bazy danych

Kursor bazy danych to obiekt, który umożliwia przechodzenie po wierszach zestawu wyników. Umożliwia przetwarzanie pojedynczych wierszy zwróconych przez zapytanie.

Cykl życia kursora programu SQL Server

Oto kroki korzystania z kursora:

Najpierw zadeklaruj kursor.

Code language: SQL (Structured Query Language) (sql)

Aby zadeklarować kursor, należy określić jego nazwę po słowie kluczowym DECLARE z typem danych CURSOR i podać Instrukcja SELECT, która definiuje zestaw wyników dla kursora.

Następnie otwórz i zapełnij kursor, wykonując SELECT instrukcja:

Code language: SQL (Structured Query Language) (sql)

Następnie pobierz wiersz z kursora do jednej lub więcej zmiennych:

Code language: SQL (Structured Query Language) (sql)

SQL Server udostępnia funkcję @@FETCHSTATUS, która zwraca stan ostatniego kursora FETCH instrukcja wykonywana względem kursora; Jeśli @@FETCHSTATUS zwraca 0, co oznacza, że instrukcja FETCH zakończyła się pomyślnie. Możesz użyć instrukcji WHILE, aby pobrać wszystkie wiersze z kursora, jak pokazano w poniższym kodzie:

Code language: SQL (Structured Query Language) (sql)

Następnie zamknij kursor:

Code language: SQL (Structured Query Language) (sql)

Na koniec cofnij przydział kursora:

Code language: SQL (Structured Query Language) (sql)

Przykład kursora SQL Server

Użyjemy tabeli prodution.products z przykładowej bazy danych, aby pokazać, jak używać kursora:

Najpierw zadeklaruj dwie zmienne, aby przechowywać nazwę produktu i cenę katalogową oraz kursor do zatrzymania wyniku zapytania pobierającego nazwę produktu i cenę katalogową z tabeli production.products:

Następnie otwórz kursor:

Code language: SQL (Structured Query Language) (sql)

Następnie pobierz każdy wiersz z kursora i wydrukuj nazwę produktu oraz cenę katalogową:

Następnie zamknij kursor:

Code language: SQL (Structured Query Language) (sql)

Na koniec zwolnij przydział kursora, aby go zwolnić.

Poniższe fragmenty kodu składają wszystko razem:

Oto częściowe dane wyjściowe:

W praktyce rzadko będziesz używać kursora do przetwarzania zestawu wyników wiersz po wierszu.

W tym samouczku nauczyłeś się, jak używać kursora programu SQL Server do przetwarzania zestawu wyników, każdy wiersz na raz.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *