Ten artykuł prowadzi Cię przez podstawy pracy z kursorami na serwerze SQL.
Co to jest kursor?
Zacznijmy od podstaw i omówmy, czym jest kursor bazy danych. Kursor to obiekt, który umożliwia przemierzanie wierszy powstałego zapytania. Mówiąc prosto, kursor umożliwia przetwarzanie wierszy uzyskanego zestawu indywidualnie.
Cykl życia kursora SQL Server
Kursor serwera SQL przechodzi różne kroki. Poniżej opisano cykl życia kursora na serwerze SQL.
Zaczynasz od ogłoszenia kursora za pomocą instrukcji SQL. Poniższa składnia pokazuje przykładową definicję kursora
Deklaruj kursor kursorDrugim krokiem jest otwarcie kursora, umożliwiając przechowywanie danych z zestawu wyników. Otwórz kursor jako:
Otwórz nazwę cursor_name;Na etapie pobierania możesz pobrać wiersze z kursora jeden po drugim lub w zestawie. Przykład składni Fetch to:
pobrać następny z kursora do listy_of_variables;Po zakończeniu pobierania danych zamknij kursor.
Zamknij nazwę cursor_name;Wreszcie, przekazaj kursor, który usuwa definicję kursora i uwalnia z nią powiązane zasoby systemowe.
Deallocate cursor_name;Przykładowe użycie kursora
Weźmy przykład, aby zilustrować, jak korzystać z kursora SQL Server. W naszym przykładzie użyjemy przykładowego SalesDB dla SQL Server. Pobierz i eksperymentuj z tym sam.
Zaczniemy od ogłoszenia zmiennych posiadających nazwę i cenę produktu oraz kursora, aby przetworzyć wynik zapytania.
Przykładowy fragment kodu jest jak podany poniżej:
OGŁOSIĆPo zakończeniu kursora i deklaracji zmiennej możemy otworzyć i użyć kursora do pobrania danych.
Przykładem jest jak pokazano:
Użyj SalesDB;Po pobraniu wymaganych danych, zamykamy i denerwujemy kursor w celu zwolnienia zasobów systemowych.
Zamknięcie.
Ten przewodnik nauczył Cię podstaw pracy z kursorami SQL Server. Chociaż rzadko będziesz używać kursorów do przetwarzania danych na podstawie rządu, kursory mogą być bardzo przydatne, gdy są prawidłowo używane.