Shrnutí: v tomto kurzu se naučíte používat příkaz BEGIN...END
k zabalení sady příkazů jazyka Transact-SQL do bloku příkazů.
Přehled příkazu BEGIN…END
Příkaz BEGIN...END
slouží k definování bloku příkazů. Blok příkazů se skládá ze sady příkazů SQL, které se provádějí společně. Blok příkazů se také nazývá dávka.
Jinými slovy, pokud jsou příkazy větami, příkaz BEGIN...END
umožňuje definovat odstavce.
Následující příklad ilustruje syntaxi příkazu BEGIN...END
:
Code language: SQL (Structured Query Language) (sql)
V této syntaxi umístíte sadu příkazů SQL mezi klíčová slova BEGIN
a END
, např:
Code language: SQL (Structured Query Language) (sql)
Výstup:
Chcete-li zobrazit zprávy generované příkazem PRINT
, musíte v aplikaci SQL Server Management Studio kliknout na kartu Messages
. Ve výchozím nastavení je karta Zprávy skrytá.
V tomto příkladu:
- Nejprve máme blok začínající klíčovým slovem
BEGIN
a končící klíčovým slovemEND
. - Druhé, uvnitř bloku, máme příkaz
SELECT
, který vyhledá produkty, jejichž ceníkové ceny jsou vyšší než 100 000. - Příkaz
SELECT
vyhledá produkty, jejichž ceníkové ceny jsou vyšší než 100 000. Pak máme příkazIF
, který zkontroluje, zda dotaz vrátí nějaký produkt, a vypíše zprávu, pokud žádný produkt nevrátí.
Všimněte si, že @@ROWCOUNT
je systémová proměnná, která vrací počet řádků ovlivněných posledním předchozím příkazem.
Příkaz BEGIN... END
ohraničuje logický blok příkazů SQL. Příkaz BEGIN...END
často používáme na začátku a na konci uložené procedury a funkce. Není však nezbytně nutný.
Příkaz BEGIN...END
je však nutný u příkazů IF ELSE
, WHILE
apod. v případech, kdy potřebujeme obalit více příkazů.
Nesting BEGIN…. END
Blok příkazů může být vnořený. Jednoduše to znamená, že příkaz BEGIN...END
můžete umístit do jiného příkazu BEGIN... END
.
Podívejte se na následující příklad:
Code language: SQL (Structured Query Language) (sql)
V tomto příkladu jsme použili příkaz BEGIN...END
k obalení celého bloku příkazů. Uvnitř tohoto bloku jsme také použili příkaz BEGIN...END
pro příkaz IF...ELSE
.
V tomto kurzu jste se seznámili s příkazem SQL Server BEGIN...END
pro obalení příkazů jazyka Transact-SQL do bloků.
.