Összefoglaló: ebben a bemutatóban megtanulja, hogyan használhatja a BEGIN...END
utasítást a Transact-SQL utasítások egy utasításblokkba csomagolására.
A BEGIN…END utasítás áttekintése
A BEGIN...END
utasítás egy utasításblokk definiálására szolgál. Az utasításblokk olyan SQL-utasításokból áll, amelyek együttesen hajtódnak végre. Az utasításblokkot kötegnek is nevezik.
Más szóval, ha az utasítások mondatok, akkor a BEGIN...END
utasítás lehetővé teszi a bekezdések definiálását.
Az alábbiakban a BEGIN...END
utasítás szintaxisát szemléltetjük:
Code language: SQL (Structured Query Language) (sql)
Ezzel a szintaxissal SQL utasítások egy csoportját helyezzük a BEGIN
és END
kulcsszavak közé, például:
Code language: SQL (Structured Query Language) (sql)
Kimenet:
A PRINT
utasítás által generált üzenetek megtekintéséhez az SQL Server Management Studio programban a Messages
fülre kell kattintania. Alapértelmezés szerint az Üzenetek lap el van rejtve.
Ebben a példában:
- Először is van egy blokkunk, amely a
BEGIN
kulcsszóval kezdődik és aEND
kulcsszóval végződik. - Második, a blokkon belül van egy
SELECT
utasítás, amely megkeresi azokat a termékeket, amelyek listaára nagyobb, mint 100000. Ezután következik aIF
utasítás, amely ellenőrzi, hogy a lekérdezés visszaad-e bármilyen terméket, és kiír egy üzenetet, ha nem ad vissza terméket.
Megjegyezzük, hogy a @@ROWCOUNT
egy rendszerváltozó, amely visszaadja az utolsó előző utasítás által érintett sorok számát.
A BEGIN... END
utasítás egy logikai SQL-utasításblokkot határol. A BEGIN...END
-t gyakran használjuk a tárolt eljárások és függvények elején és végén. De nem feltétlenül szükséges.
A BEGIN...END
-re azonban szükség van a IF ELSE
utasítások, WHILE
utasítások stb. esetében, ahol több utasítást kell becsomagolni.
Nesting BEGIN… END
Az utasításblokkok egymásba ágyazhatók. Ez egyszerűen azt jelenti, hogy egy BEGIN...END
utasítást egy másik BEGIN... END
utasításon belül helyezhetünk el.
Nézzük meg a következő példát:
Code language: SQL (Structured Query Language) (sql)
Ebben a példában a BEGIN...END
utasítást az egész utasításblokk beburkolására használtuk. Ezen a blokkon belül a BEGIN...END
utasítást a IF...ELSE
utasításhoz is használtuk.
Ezzel a bemutatóval megismerkedett az SQL Server BEGIN...END
utasítással, amellyel a Transact-SQL utasításokat blokkokba csomagolhatjuk.