Heim php教程 PHP开发 SQL Server-Cursor-Verarbeitungsschleife

SQL Server-Cursor-Verarbeitungsschleife

Dec 14, 2016 am 11:49 AM

Testen Sie 3 Datenelemente

CREATE TABLE test_main (
id      INT,
value   VARCHAR(10),
PRIMARY KEY(id)
);
Nach dem Login kopieren

INSERT INTO test_main(id, value) VALUES (1, 'ONE');

INSERT INTO test_main(id, value ) VALUES (2, 'TWO');

INSERT INTO test_main(id, value) VALUES (3, 'THREE');

Einfache Schleifenverarbeitung

DECLARE

@id INT, @value VARCHAR(10);

BEGIN

– Definieren Sie den Cursor.

DECLARE c_test_main CURSOR FAST_FORWARD FOR

SELECT id, value FROM test_main;

– Öffne den Cursor.

OPEN c_test_main;

– Fülle die Daten aus.

FETCH NEXT FROM c_test_main INTO @ id, @value;

– Wenn die Daten abgerufen werden, werden sie verarbeitet.

WHILE @@fetch_status = 0

BEGIN

PRINT @value;

– Geben Sie die nächsten Daten ein.

FETCH NEXT FROM c_test_main INTO @id, @value;

END;

- Schließen Sie den Cursor

CLOSE c_test_main;

-- Lassen Sie den Cursor los.

DEALLOCATE c_test_main;

END;

go

EINS

ZWEI

DREI

Cursor für Aktualisierung

DECLARE

@id INT, @value VARCHAR (10);

BEGIN

--Definieren Sie den Cursor.

DECLARE c_test_main CURSOR FOR

SELECT id, value FROM test_main

FOR UPDATE;

--Cursor öffnen.

OPEN c_test_main;

--Daten füllen.

FETCH NEXT FROM c_test_main INTO @id, @value ;

--Wenn die Daten abgerufen werden, werden sie verarbeitet.

WHILE @@fetch_status = 0

BEGIN

PRINT @value;

--Daten aktualisieren.

UPDATE

test_main

SET

Wert = Wert + '1'

WHERE

CURRENT OF c_test_main;

--Füllen Sie die nächsten Daten aus.

FETCH NEXT FROM c_test_main INTO @id, @value;

END;

– Schließen Sie den Cursor.

CLOSE c_test_main;

– Lassen Sie den Cursor los.

DEALLOCATE c_test_main;

END;

go

EINS

(1 Zeile betroffen)

ZWEI

Drei

SELECT * FROM test_main;

go

id          value

----------- ---------

                                                                                                                                   🎜> 3 Drei1


(3 Zeilen betroffen)


Unterstützter Cursor, der zurückscrollt und so weiter


Hinweis: Zu Testzwecken werden die Daten in der Tabelle test_main auf 11 Elemente erhöht.

DECLARE

@id INT, @value VARCHAR(10);

BEGIN

​​​​-- Definieren Sie den Cursor.

DECLARE c_test_main CURSOR SCROLL FOR
SELECT id, value FROM test_main ;

– Öffne den Cursor.
OPEN c_test_main;

– Fülle die Daten aus.

FETCH FIRST FROM c_test_main INTO @id, @value;
PRINT 'Im Cursor Die erste Zeile:' + @value;

-- Füllen Sie die Daten aus.
FETCH LAST FROM c_test_main INTO @id, @value;
PRINT 'Die letzte Zeile im Cursor:' + @value ;

– Daten ausfüllen.
FETCH ABSOLUTE 3 FROM c_test_main INTO @id, @value;
PRINT 'Zeile 3 im Cursor [absolute Adresse] :' + @value;

-- Daten ausfüllen.
FETCH RELATIVE -2 FROM c_test_main INTO @id, @value;
PRINT 'Zeile -2 im Cursor [relative Adresse]: ' + @value;

– Füllen Sie die Daten aus.
FETCH PRIOR FROM c_test_main INTO @id, @value;
PRINT 'Vorherige Zeile im Cursor:' + @value;

-- Daten ausfüllen.
FETCH NEXT FROM c_test_main INTO @id, @value;
PRINT 'Nächste Zeile im Cursor:' + @value;

-- Cursor schließen
CLOSE c_test_main;
– Lassen Sie den Cursor los.

DEALLOCATE c_test_main;

END;
go



Zusammenfassung


SQL-92-Syntax

DECLARE Cursorname [ INSENSITIVE ] [ SCROLL ] CURSOR

FÜR select_statement

[ FOR { NUR LESEN | UPDATE [ OF columns_name [ ,...n ] ] } ]


Transact-SQL扩展语法

DECLARE Cursor_Name CURSOR

[ LOKAL | GLOBAL ]

[ FORWARD_ONLY | SCROLLEN ]

[ STATISCH | SCHLÜSSELSATZ | DYNAMISCH | FAST_FORWARD ]

[ READ_ONLY | SCROLL_LOCKS | OPTIMISTISCH ]

[ TYPE_WARNING ]

FOR select_statement

[ FOR UPDATE [ OF columns_name [ ,...n ] ] ] ]


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)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate 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)