Sammanfattning: I den här handledningen lär du dig hur du använder BEGIN...END
-angivelsen för att slå in en uppsättning Transact-SQL-angivelser i ett statementblock.
Översikt över BEGIN…END-angivelsen
BEGIN...END
-angivelsen används för att definiera ett statementblock. Ett statementblock består av en uppsättning SQL-utsagor som exekveras tillsammans. Ett statementblock kallas också för en batch.
Med andra ord, om statements är meningar kan du med BEGIN...END
-angivelsen definiera stycken.
Nedan illustreras syntaxen för BEGIN...END
-anvisningen:
Code language: SQL (Structured Query Language) (sql)
I den här syntaxen placerar du en uppsättning SQL-anvisningar mellan nyckelorden BEGIN
och END
, till exempel:
Code language: SQL (Structured Query Language) (sql)
Output:
För att visa de meddelanden som genereras av PRINT
-angivelsen måste du klicka på fliken Messages
i SQL Server Management Studio. Som standard är fliken Meddelanden dold.
I det här exemplet:
- För det första har vi ett block som börjar med nyckelordet
BEGIN
och slutar med nyckelordetEND
. - För det andra har vi inom blocket ett
SELECT
-anvisning som hittar produkter vars listpriser är större än 100 000. Sedan har viIF
-anvisningen som kontrollerar om frågan returnerar någon produkt och skriver ut ett meddelande om ingen produkt returneras.
Bemärk att @@ROWCOUNT
är en systemvariabel som returnerar antalet rader som berörs av den senaste föregående anvisningen.
Anvisningen BEGIN... END
avgränsar ett logiskt block av SQL-anvisningar. Vi använder ofta BEGIN...END
i början och slutet av en lagrad procedur och funktion. Men det är inte strikt nödvändigt.
Hursomhelst krävs BEGIN...END
för IF ELSE
-anvisningar, WHILE
-anvisningar etc., där du behöver omsluta flera anvisningar.
Nesting BEGIN… END
Upplåtelseblocket kan vara nästlat. Det betyder helt enkelt att du kan placera ett BEGIN...END
-uttalande inom ett annat BEGIN... END
-uttalande.
Tänk på följande exempel:
Code language: SQL (Structured Query Language) (sql)
I det här exemplet använde vi BEGIN...END
-uttalandet för att omsluta hela uttalandeblocket. I det här blocket använde vi också BEGIN...END
för IF...ELSE
-anvisningen.
I den här handledningen har du lärt dig om SQL Server BEGIN...END
-anvisningen för att linda in Transact-SQL-anvisningar i block.