Podsumowanie: w tym poradniku dowiesz się, jak używać instrukcji BEGIN...END
do zawijania zestawu instrukcji Transact-SQL w blok instrukcji.
Przegląd instrukcji BEGIN…END
Oświadczenie BEGIN...END
jest używane do definiowania bloku instrukcji. Blok instrukcji składa się z zestawu poleceń SQL, które są wykonywane razem. Blok instrukcji jest również znany jako partia.
Innymi słowy, jeśli instrukcje są zdaniami, instrukcja BEGIN...END
pozwala zdefiniować akapity.
Następująca ilustracja przedstawia składnię instrukcji BEGIN...END
:
Code language: SQL (Structured Query Language) (sql)
W tej składni umieszczasz zestaw instrukcji SQL między słowami kluczowymi BEGIN
i END
, na przykład:
Code language: SQL (Structured Query Language) (sql)
Output:
Aby wyświetlić komunikaty wygenerowane przez instrukcję PRINT
, w programie SQL Server Management Studio należy kliknąć zakładkę Messages
. Domyślnie karta Komunikaty jest ukryta.
W tym przykładzie:
- Po pierwsze, mamy blok rozpoczynający się od słowa kluczowego
BEGIN
i kończący się słowem kluczowymEND
. - Po drugie, wewnątrz bloku mamy instrukcję
SELECT
, która wyszukuje produkty, których ceny katalogowe są większe niż 100 000. Następnie mamy instrukcjęIF
sprawdzającą, czy zapytanie zwraca jakikolwiek produkt i wypisującą komunikat, jeśli żaden produkt nie zostanie zwrócony.
Zauważ, że @@ROWCOUNT
jest zmienną systemową, która zwraca liczbę wierszy, na które wpłynęła ostatnia poprzednia instrukcja.
Konstrukcja BEGIN... END
wiąże logiczny blok instrukcji SQL. Często używamy BEGIN...END
na początku i na końcu procedury składowanej i funkcji. Nie jest to jednak bezwzględnie konieczne.
Jednakże instrukcja BEGIN...END
jest wymagana w przypadku instrukcji IF ELSE
, WHILE
itp. gdzie trzeba zawinąć wiele instrukcji.
Nesting BEGIN… END
Blok instrukcji może być zagnieżdżony. Oznacza to po prostu, że można umieścić instrukcję BEGIN...END
wewnątrz innej instrukcji BEGIN... END
.
Rozważmy następujący przykład:
Code language: SQL (Structured Query Language) (sql)
W tym przykładzie użyliśmy instrukcji BEGIN...END
do zawinięcia całego bloku instrukcji. Wewnątrz tego bloku użyliśmy również instrukcji BEGIN...END
dla instrukcji IF...ELSE
.
W tym samouczku dowiedziałeś się o instrukcji SQL Server BEGIN...END
do zawijania instrukcji Transact-SQL w bloki.
.