voor meer informatie over cursors, kijk ook naar de gratis SQL query training van Steve Stedman.
In SQL Server is de cursor een hulpmiddel dat wordt gebruikt om over een resultaatset te herhalen, of om elke rij van een resultaatset rij voor rij te doorlopen. Het is misschien niet de beste manier om met een set gegevens te werken, maar als je rij moet lus door kwellende rij (Rbar) in een T-SQL script dan is een cursor een manier om het te doen.,
Opmerking: Als u nieuw bent bij SQL Server en afkomstig bent van een Oracle-achtergrond, moet u weten dat cursors op SQL Server anders zijn dan die op Oracle.
voordat we de cursor aanmaken, beginnen we met een eenvoudige query die uiteindelijk in de cursor wordt gebruikt.
USE AdventureWorks2008;GOSELECT BusinessEntityID, Name FROM Sales.Store;wat er ongeveer zo uitziet:
om het nu naar een cursor te converteren, in plaats van alleen een SELECT statement.
Stap 1: variabelen declareren om de uitvoer van de cursor vast te houden.,
DECLARE @BusinessEntityID as INT;DECLARE @BusinessName as NVARCHAR(50);Stap 2: Declare the cursor object;
DECLARE @BusinessCursor as CURSOR;Stap 3: Wijs de query toe aan de cursor.
SET @BusinessCursor = CURSOR FORSELECT BusinessEntityID, Name FROM Sales.Store;Stap 4: open de cursor.
OPEN @BusinessCursor;Stap 5: haal de eerste rij op.
FETCH NEXT FROM @BusinessCursor INTO @BusinessEntityID, @BusinessName;Stap 6: Loop totdat er geen resultaten meer zijn. In de lus print de ID en de naam uit de result set en haal de net rij.
Stap 7: Sluit de cursor.,
CLOSE @BusinessCursor;Stap 8: Geef de cursor vrij om geheugen vrij te maken of resultaatsets te openen.
DEALLOCATE @BusinessCursor;nu alles samenvoegen:
Dit geeft u een snel overzicht van hoe u snel een cursor op Microsoft SQL Server. Het getoonde voorbeeld werd uitgevoerd op SQL Server 2008 , en werkt hetzelfde op SQL Server 2005, SQL Server 2008R2, SQL Server 2012 of SQL Server 2014.,
Hier is een video met een vergelijkbaar overzicht van het gebruik van cursors in TSQL.
Enjoy!,
-Steve Stedman
Verwante Koppelingen
- Video: Eenvoudige Introductie van TSQL Cursors
- Gratis SQL-Query Training voor de 70-461 cursus
- Eenvoudige Cursor Voorbeeld : FORWARD_ONLY vs FAST FORWARD
- Video Training op met Behulp van Cursors Met SQL Server
- Meer details over Cursors
- het Gebruik van een CURSOR naar de lijst van databases
- Cursors – Technische schuld
- Lijst Database Bijvoorbeeld met een CURSOR
Heb je geprobeerd Database Health Monitor?
hulp krijgen van Steve en het Stedman Solutions Team
We staan klaar om te helpen., Steve en het team van Stedman Solutions zijn hier om te helpen met uw SQL Server behoeften.Krijg vandaag nog hulp door contact op te nemen met Stedman Solutions via het gratis 30 minuten consultatieformulier.