Beispiel für SQL Server Cursor

Beispiel für SQL Server Cursor
Cursoren sind ein grundlegendes Konzept in Datenbanken. Sie ermöglichen es Ihnen, über das Ergebnis einer Abfrage zu iterieren. Dies kann nützlich sein, wenn Sie auf einer Reihe von Reihen Maßnahmen ergreifen müssen, was zu vereinfachten und sequentiellen Vorgängen in der Datenbank führt.

Dieser Artikel führt Sie durch die Grundlagen der Arbeit mit Cursors in SQL Server.

Was ist ein Cursor?

Beginnen wir mit den Grundlagen und diskutieren, was ein Datenbankcursor ist. Ein Cursor ist ein Objekt, mit dem Sie die Zeilen einer resultierenden Abfrage durchqueren können. In einfachen Worten können Sie mit einem Cursor die Zeilen eines resultierenden Satzes einzeln verarbeiten.

Der Lebenszyklus des SQL Server Cursors

Ein SQL Server Cursor wird verschiedenen Schritten durchgeführt. Im Folgenden beschreibt der Lebenszyklus eines Cursors auf SQL Server.

Sie beginnen damit, einen Cursor mit einer SQL -Anweisung zu deklarieren. Die folgende Syntax zeigt Beispiel -Cursor -Definition

Deklarieren Sie Cursor_Name Cursor
Für select_query;

Der zweite Schritt besteht darin, den Cursor zu öffnen, sodass Sie die Daten aus dem Ergebnissatz speichern können. Öffnen Sie den Cursor als:

Öffnen cursor_name;

Im Fetch -Schritt können Sie die Zeilen von dem Cursor nacheinander oder in einem Satz abrufen. Beispiel für die Fetch -Syntax lautet wie:

Nächst vom Cursor in list_of_variables abrufen;

Sobald Sie die Daten beendet haben, schließen Sie den Cursor.

Cursor_Name schließen;

Schließlich bearbeiten Sie den Cursor, der die Cursordefinition löscht und die damit verbundenen Systemressourcen freigibt.

DealLocate Cursor_Name;

Beispiel Cursor -Verwendung

Nehmen wir ein Beispiel, um zu veranschaulichen, wie Sie einen SQL Server Cursor verwenden. In unserem Beispiel werden wir das Beispiel SalesDB für SQL Server verwenden. Laden Sie es selbst herunter und experimentieren Sie damit.

Wir werden zunächst die Variablen deklarieren, die den Produktnamen und den Preis und den Cursor halten, um das Ergebnis der Abfrage zu verarbeiten.

Ein Beispiel -Code -Snippet ist wie unten angegeben:

ERKLÄREN
@product_name varchar (255),
@Price Decimal (10,2);
ERKLÄREN
Sample_Cursor Cursor
Für select
@Produktname,
@Preis
AUS
Produkte;

Sobald der Cursor und die Variablenerklärung abgeschlossen sind, können wir den Cursor öffnen und verwenden, um die Daten zu holen.

Ein Beispiel ist wie gezeigt:

Salesdb verwenden;
ERKLÄREN
@Name varchar (255),
@Price Decimal (10,2);
ERKLÄREN
Sample_Cursor Cursor
Für select
@Name,
@Preis
AUS
Produkte;
Öffnen sample_cursor;
Abrufen Sie als nächstes von Sample_Cursor in ab in
@Name,
@Preis;
während @@ fetch_status = 0
START
print @Name + cast (@price as varchar (max));
Abrufen Sie als nächstes von Sample_Cursor in ab in
@Name,
@Preis;
ENDE;
sample_cursor schließen;
DealLocate sample_cursor;

Nachdem wir die erforderlichen Daten abgerufen haben, schließen wir den Cursor, um Systemressourcen freizusetzen.

Schließen.

Diese Anleitung hat Ihnen die Grundlagen der Arbeit mit SQL Server Cursors beigebracht. Obwohl Sie selten Cursors verwenden, um Daten in einer Reihe von Reihen zu verarbeiten, können Cursors bei korrekter Verwendung sehr praktisch sein.