Normalt SQL ( Structured Query Language ) framställningar arbetar med hela uppsättningar av data. Det finns dock tillfällen då det kan vara bäst och tom nödvändigt att arbeta med data en rad i taget . För dessa omständigheter , markörer är det bästa alternativet . De möjliggör en operation som skall utföras på varje rad av en uppsättning data , ett i taget. Till exempel , markörer är det enklaste sättet att gå igenom en hel uppsättning data och tillämpa ett förfarande för att varje rad i uppsättningen . Men kommer detta till en kostnad : markörer är vanligtvis mycket långsammare än andra SQL operationer . Instruktioner
1
Skriv följande kommando i SQL Server -konsolen för att förklara markören :
FÖRKLARA cursor1 CURSOR
2
Ge en SELECT- sats som hämtar uppgifterna markören fungerar på :
till salu,
SELECT
efternamn
anställda
FOR UPDATE OF efternamn
Detta kommer att hämta en lista med last_names från en anställd tabell. Den anger också att du kommer att uppdatera last_name när du går igenom markörens uppgifter
3
Öppna markören genom att skriva följande : .
OPEN cursor1
4
Börja iterera genom raderna genom att skriva följande :
FETCH NEXT FROM cursor1
INTO @ LASTNAME
@ @ FETCH_STATUS = 0
BEGIN
5
Uppdatera efternamnet genom att skriva följande :
EXEC ÖVRE ( @ LASTNAME ) katalog
Detta kommer att ställa den sista namn aktuella raden så det är i alla versaler
6
Fetch annan rad innan du avslutar while-slingan börjat i steg 4 : .
FETCH NEXT FROM cursor1
INTO @ LASTNAME
END
7
Stäng markören och frigör sitt namn så att den kan användas igen om det behövs:
STÄNG cursor1
DEALLOCATE cursor1 Addera