Heim php教程 PHP开发 Die Verwendung von Cursorn in SQL

Die Verwendung von Cursorn in SQL

Dec 14, 2016 am 11:20 AM

Wenn wir SELECT-Abfrageanweisungen verwenden, beziehen sie sich im Allgemeinen alle auf eine Zeile von Datensätzen (d. h. einen Datensatzsatz) im Abfrageanalysator, dann müssen Sie Cursor oder verwenden WHILE-Schleifen

Arten von Cursorn:
1. Statischer Cursor (erkennt keine Änderungen in Datenzeilen)
2. Dynamischer Cursor (spiegelt Änderungen in allen Datenzeilen wider))
3. Nur Vorwärtscursor (Scrollen wird nicht unterstützt)
4. Keyset-Cursor (kann Änderungen widerspiegeln, aber Einfügungen und Löschungen nicht genau wiedergeben)

Reihenfolge der Cursorverwendung:

1, Cursor definieren
2. Cursor öffnen
3. Cursor verwenden
4. Cursor schließen
5. Cursor loslassen

Transact-SQL:

Cursorname Cursor [LOCAL][FORWARD_ONLY |. SCROLL][STATIC |. DYNAMIC] [READ_ONLY | vorwärts SCROLL scrollen
STATIC static KEYSET key set DYNAMISCH dynamisch
READ_ONLY read-only SCROLL_LOCKS sperren die aktuelle Zeile des Cursors

Holen Sie sich die Daten des Cursors
FETCH [[NEXT | FIRST |. LAST |.
ABSOLUTE{ n |. @nvar |

LAST Letzte Zeile ABSOLUTE n Zeile n

RELATIVE n Zeile n ausgehend von der aktuellen Position
in Variable Weisen Sie der Variablen die Feldwerte der aktuellen Zeile zu

Cursor-Statusvariable:
@@fetch_status Cursorstatus
0 Erfolg -1 Fehler -2 Verloren
@@cursor_rows Anzahl der Zeilen im Cursor-Ergebnissatz
n Anzahl der Zeilen -1 Cursor ist dynamisch 0 Leerer Satzcursor
Bedienen Sie die aktuelle Zeile des Cursors:

aktueller Name des Cursors


Beispiel 1: Verwenden Sie den Cursor, um den abgefragten Datensatz zu durchlaufen

verwenden Sie Pubs

gehen

deklarieren Sie @auid char(12),@aulname varchar(20),@aufname varchar(20), @st char(2),@auinfo varchar(50)

deklarieren Sie den auth_cur-Cursor für

au_id, au_lname, au_fname, state auswählen

von Autoren

auth_cur öffnen

nächstes von auth_cur in @auid,@aulname,@aufname abrufen , @st

while (@@fetch_status=0)

begin

print 'Autorennummer: '+@auid

print 'Autorenname: '+@aulname+ ','+@aufname

print 'State: '+@st

print '------------------ --- -----'

fetch next from auth_cur into @auid,@aulname,@aufname, @st

end

close auth_cur

auth_cur freigeben

Beispiel 2: Cursor verwenden, um Daten zu ändern und zu löschen

auth_cur deklarieren, Cursor scrollen für

au_id, au_lname, au_fname, Status auswählen

von Autoren zur Aktualisierung von au_lname

open auth_cur

declare @rowcount int

set @rowcount = 6

fetch absolute @rowcount from auth_cur -- Ändern Sie die Variable @rowcount. Die identifizierte Zeile wird auf die aktuelle Zeile gesetzt

--die folgende Zeile wird mit dem Cursor geändert

Update Authors Set au_lname='Zhang' where current of auth_cur-- Ändern Sie die aktuelle Zeile im Cursor

--Die folgende Zeile verwendet einen Cursor, um einen Löschvorgang auszuführen

löschen von Autoren, wo aktuell von auth_cur

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)