SQL Server kurzor

Összefoglaló: ebben az oktatóanyagban megtanulhatja, hogyan használhatja az SQL Server kurzort egy sor halmaz feldolgozására, egy sorban.

Az SQL a halmazon alapul, pl. a SELECT utasítás egy sorkészletet ad vissza, amelyet eredményhalmaznak hívnak. Előfordulhat azonban, hogy egy adatkészletet soronként kell feldolgozni. Itt jönnek a kurzorok a játékba.

Mi az az adatbázis kurzor

Az adatbázis kurzor olyan objektum, amely lehetővé teszi az eredményhalmaz sorainak áthaladását. Lehetővé teszi a lekérdezés által visszaküldött egyes sorok feldolgozását.

SQL Server kurzor életciklusa

Ezek a kurzor használatának lépései:

Először deklaráljon egy kurzort.

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

A kurzor deklarálásához meg kell adnia a nevét a DECLARE kulcsszó után az CURSOR adattípussal, és meg kell adnia egy SELECT utasítás, amely meghatározza a kurzor eredményhalmazát.

Ezután nyissa meg és töltse fel a kurzort a SELECT utasítás:

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

Ezután töltsön le egy sort a kurzorból egy vagy több változóba:

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

Az SQL Server biztosítja a @@FETCHSTATUS függvényt, amely visszaadja a kurzorral szemben végrehajtott utolsó kurzor FETCH utasítás állapotát; Ha a @@FETCHSTATUS értéke 0, akkor az FETCH utasítás sikeres volt. A WHILE utasítással az összes sort be tudja tölteni a kurzorból, a következő kód szerint:

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

Ezután zárja be a kurzort:

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

Végül ossza meg a kurzort:

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

SQL Server kurzor példa

A kurzor használatának bemutatásához a mintadatbázis prodution.products tábláját használjuk:

Először deklaráljon két változót a terméknév és a listaár megtartására, és kurzor egy olyan lekérdezés eredményének megtartására, amely lekéri a termék nevét és a listaárat a production.products táblából:

Ezután nyissa meg a kurzort:

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

Ezután húzza be az egyes sorokat a kurzorból, és nyomtassa ki a termék nevét és a listaárat:

Ezután zárja be a kurzort:

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

Végül ossza meg a kurzort a feloldásához.

A következő kódrészletek mindent összeállítanak:

Itt van a részleges kimenet:

A gyakorlatban ritkán használja a kurzort az eredmények halmazának soronkénti feldolgozásához.

Ebben az oktatóanyagban megtanulta, hogyan kell az SQL Server kurzort használni egy-egy eredményhalmaz feldolgozásához.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük