SQL Server CURSOR (Svenska)

Sammanfattning: i den här självstudien lär du dig hur du använder SQL Server-markören för att bearbeta en resultatuppsättning, en rad i taget.

SQL fungerar baserat på uppsättning t.ex. SELECT uttalande returnerar en uppsättning rader som kallas en resultatuppsättning. Ibland kanske du vill bearbeta en datamängd rad för rad. Det är här markörer spelar in.

Vad är en databasmarkör

En databasmarkör är ett objekt som gör det möjligt att korsa över raderna i en resultatuppsättning. Det låter dig bearbeta enskilda rader som returneras av en fråga.

SQL Server-markörens livscykel

Detta är steg för att använda en markör:

Förklara först en markör.

Code language: SQL (Structured Query Language) (sql)

För att deklarera en markör anger du dess namn efter DECLARE nyckelordet med CURSOR datatyp och ger en SELECT uttalande som definierar resultatuppsättningen för markören.

Öppna och fyll sedan markören genom att köra SELECT uttalande:

Code language: SQL (Structured Query Language) (sql)

Hämta sedan en rad från markören till en eller flera variabler:

Code language: SQL (Structured Query Language) (sql)

SQL Server tillhandahåller @@FETCHSTATUS -funktionen som returnerar statusen för den sista markören FETCH som körs mot markören; Om @@FETCHSTATUS returnerar 0, vilket betyder att FETCH uttalandet lyckades. Du kan använda uttalandet WHILE för att hämta alla rader från markören som visas i följande kod:

Code language: SQL (Structured Query Language) (sql)

Stäng sedan markören:

Code language: SQL (Structured Query Language) (sql)

Slutligen placera markören:

Code language: SQL (Structured Query Language) (sql)

SQL Server-markörexempel

Vi använder tabellen prodution.products från exempeldatabasen för att visa dig hur du använder en markör:

Förklara först två variabler för att innehålla produktnamn och listpris, och en markör för att hålla resultatet av en fråga som hämtar produktnamn och listpris från production.products tabellen:

Öppna sedan markören:

Code language: SQL (Structured Query Language) (sql)

Hämta sedan varje rad från markören och skriv ut produktnamnet och listpriset:

Stäng därefter markören:

Code language: SQL (Structured Query Language) (sql)

Slutligen placera markören för att släppa den.

Följande kodavsnitt sätter ihop allt:

Här är delutmatningen:

I praktiken kommer du sällan att använda markören för att bearbeta en resultatuppsättning rad för rad.

I denna handledning har du lärt dig hur du använder SQL Server-markören för att bearbeta en resultatuppsättning, varje rad i taget.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *