T-SQL: prosty przykład użycia kursora

aby uzyskać więcej informacji na temat kursorów, zapoznaj się również z bezpłatnym szkoleniem z zapytań SQL przygotowanym przez Steve ' a Stedmana.

w SQL Server kursor jest narzędziem, które służy do iteracji nad zestawem wyników lub do pętli przez każdy wiersz zestawu wyników jeden wiersz na raz. Może nie jest to najlepszy sposób na pracę z zestawem danych, ale jeśli trzeba zapętlić wiersz przez agonizing row (RBAR) w skrypcie T-SQL, to kursor jest jednym ze sposobów na to.,

Uwaga: Jeśli jesteś nowicjuszem w SQL Server i pochodzisz z tła Oracle, powinieneś wiedzieć, że Kursory na SQL Server różnią się od kursorów na Oracle.

przed utworzeniem kursora zaczniemy od prostego zapytania, które zostanie użyte w kursorze.

USE AdventureWorks2008;GOSELECT BusinessEntityID, Name FROM Sales.Store;

który wygląda mniej więcej tak:

teraz przekonwertować go na kursor, zamiast tylko polecenie select.

Krok 1: Zadeklaruj zmienne, które przytrzymają wyjście z kursora.,

DECLARE @BusinessEntityID as INT;DECLARE @BusinessName as NVARCHAR(50);

Krok 2: Zadeklaruj obiekt kursora;

DECLARE @BusinessCursor as CURSOR;

Krok 3: Przypisz zapytanie do kursora.

SET @BusinessCursor = CURSOR FORSELECT BusinessEntityID, Name FROM Sales.Store;

Krok 4: Otwórz kursor.

OPEN @BusinessCursor;

Krok 5: Pobierz pierwszy wiersz.

FETCH NEXT FROM @BusinessCursor INTO @BusinessEntityID, @BusinessName;

Krok 6: pętla, aż nie będzie więcej wyników. W pętli wypisuje ID i nazwę z zestawu wynikowego i pobiera wiersz netto.

Krok 7: Zamknij kursor.,

CLOSE @BusinessCursor;

Krok 8: wyłącz kursor, aby zwolnić pamięć lub otworzyć zestawy wyników.

DEALLOCATE @BusinessCursor;

teraz składając wszystko razem:

To powinno dać szybki przegląd jak szybko zbudować i używać kursora na Microsoft SQL Server. Pokazany przykład został uruchomiony na SQL Server 2008 i działa tak samo na SQL Server 2005, SQL Server 2008R2, SQL Server 2012 lub SQL Server 2014.,

oto film pokazujący podobny przegląd używania kursorów w TSQL.

Enjoy!,

-Steve Stedman

powiązane linki

  • wideo: proste wprowadzenie do kursorów TSQL
  • bezpłatne szkolenie z zapytań SQL dla kursu 70-461
  • prosty przykład kursora : FORWARD_ONLY vs FAST FORWARD
  • szkolenie wideo na temat korzystania z kursorów z SQL Server
  • Więcej szczegółów na temat kursorów
  • lista baz danych
  • Kursory – dług techniczny
  • przykład listy baz danych z kursorem

Czy próbowałeś Database health monitor?

pomoc od Steve ' a i zespołu Stedman Solutions

jesteśmy gotowi pomóc., Steve i zespół Stedman Solutions są tutaj, aby pomóc w spełnieniu twoich potrzeb SQL Server.Uzyskaj pomoc już dziś, kontaktując się z firmą Stedman Solutions za pomocą bezpłatnego 30-minutowego formularza konsultacji.

Dodaj komentarz

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