SQL Server BEGIN END

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:

SQL Server BEGIN END example

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 nyckelordet END
    .
  • För det andra har vi inom blocket ett SELECT-anvisning som hittar produkter vars listpriser är större än 100 000. Sedan har vi IF-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.

Lämna ett svar

Din e-postadress kommer inte publiceras.