Ö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.