Resumé: I denne vejledning lærer du, hvordan du bruger BEGIN...END
-erklæringen til at pakke et sæt Transact-SQL-erklæringer ind i en erklæringsblok.
Oversigt over BEGIN…END-erklæringen
BEGIN...END
-erklæringen bruges til at definere en erklæringsblok. En udsagnsblok består af et sæt SQL-udsagn, der udføres sammen. En statementblok er også kendt som en batch.
Med andre ord, hvis statements er sætninger, giver BEGIN...END
-erklæringen dig mulighed for at definere afsnit.
Det følgende illustrerer syntaksen for BEGIN...END
-erklæringen:
Code language: SQL (Structured Query Language) (sql)
I denne syntaks placerer du et sæt SQL-erklæringer mellem nøgleordene BEGIN
og END
, f.eks:
Code language: SQL (Structured Query Language) (sql)
Output:
For at få vist de meddelelser, der genereres af PRINT
-erklæringen, skal du i SQL Server Management Studio klikke på fanen Messages
. Som standard er fanen Meddelelser skjult.
I dette eksempel:
- Først har vi en blok, der starter med nøgleordet
BEGIN
og slutter med nøgleordetEND
. - For det andet har vi inde i blokken en
SELECT
-angivelse, der finder produkter, hvis listepriser er større end 100.000. Derefter har viIF
-anvisningen, der kontrollerer, om forespørgslen returnerer et produkt og udskriver en meddelelse, hvis der ikke returneres noget produkt.
Bemærk, at @@ROWCOUNT
er en systemvariabel, der returnerer antallet af rækker, der er påvirket af den sidste foregående anvisning.
Anvisningen BEGIN... END
afgrænser en logisk blok af SQL-anvisninger. Vi bruger ofte BEGIN...END
i starten og slutningen af en lagret procedure og funktion. Men det er ikke strengt nødvendigt.
Den BEGIN...END
er imidlertid nødvendig for IF ELSE
-erklæringer, WHILE
-erklæringer osv. hvor du har brug for at omslutte flere erklæringer.
Nesting BEGIN… END
Anvisningsblokken kan være indlejret. Det betyder ganske enkelt, at du kan placere en BEGIN...END
-anvisning inden for en anden BEGIN... END
-anvisning.
Se på følgende eksempel:
Code language: SQL (Structured Query Language) (sql)
I dette eksempel har vi brugt BEGIN...END
-anvisningen til at omslutte hele anvisningsblokken. Inde i denne blok har vi også brugt BEGIN...END
til IF...ELSE
-erklæringen.
I denne vejledning har du lært om SQL Server BEGIN...END
-erklæringen til at indpakke Transact-SQL-erklæringer i blokke.