För mer information om markörer, ta också en titt på gratis SQL query utbildning tillhandahålls av Steve Stedman.
i SQL Server är markören ett verktyg som används för att iterera över en resultatuppsättning, eller att slinga genom varje rad av ett resultat som en rad i taget. Det kanske inte är det bästa sättet att arbeta med en uppsättning data, men om du behöver slingra rad genom att agonisera rad (RBAR) i ett T-SQL-skript så är en markör ett sätt att göra det.,
Obs! Om du är ny på SQL Server och kommer från en Oracle-bakgrund bör du veta att markörer på SQL Server skiljer sig från dem på Oracle.
innan du skapar markören börjar vi bara med en enkel fråga som kommer att sluta användas i markören.
USE AdventureWorks2008;GOSELECT BusinessEntityID, Name FROM Sales.Store;som ser ut så här:
nu för att konvertera den till en markör, istället för bara en select-sats.
Steg 1: deklarera variabler för att hålla utdata från markören.,
DECLARE @BusinessEntityID as INT;DECLARE @BusinessName as NVARCHAR(50);steg 2: förklara markörobjektet;
DECLARE @BusinessCursor as CURSOR;steg 3: tilldela frågan till markören.
SET @BusinessCursor = CURSOR FORSELECT BusinessEntityID, Name FROM Sales.Store;steg 4: Öppna markören.
OPEN @BusinessCursor;Steg 5: hämta den första raden.
FETCH NEXT FROM @BusinessCursor INTO @BusinessEntityID, @BusinessName;steg 6: Loop tills det inte finns några fler resultat. I slingan Skriv ut ID och namnet från resultatuppsättningen och hämta nettoraden.
Steg 7: Stäng markören.,
CLOSE @BusinessCursor;steg 8: Avallokera markören för att frigöra minne eller öppna resultatuppsättningar.
DEALLOCATE @BusinessCursor;nu sätter allt ihop:
detta bör ge dig en snabb överblick över hur du snabbt bygger och använder en markör på Microsoft SQL Server. Exemplet som visas kördes på SQL Server 2008 och fungerar på samma sätt på SQL Server 2005, SQL Server 2008R2, SQL Server 2012 eller SQL Server 2014.,
här är en video som visar en liknande översikt över att använda markörer i TSQL.
Njut!,
-Steve Stedman
Relaterade Länkar
- Video: enkel introduktion till TSQL markörer
- gratis SQL Query utbildning för 70-461 kurs
- enkel markör exempel : FORWARD_ONLY vs snabbspolning
- video utbildning på att använda markörer med SQL Server
- mer information om markörer
- med hjälp av en markör för att lista databaser
- markörer – teknisk skuld
- lista databas exempel med en markör
har du försökt databas Health Monitor?
få hjälp från Steve och Stedman Solutions Team
Vi är redo att hjälpa till., Steve och teamet på Stedman Solutions är här för att hjälpa till med dina SQL Server-behov.Få hjälp idag genom att kontakta Stedman Solutions via gratis 30 minuters samrådsformulär.