Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Schließt eine Reihe von Transact-SQL-Anweisungen ein, sodass eine Gruppe von Transact-SQL-Anweisungen in einem logischen Codeblock ausgeführt werden kann.
BEGIN und END sind Schlüsselwörter zur Steuerung der Flusssprache.
Transact-SQL-Syntaxkonventionen
Syntax
BEGIN
{ sql_statement | statement_block }
END
Arguments
{ sql_statement | statement_block}
Jede gültige Transact-SQL-Anweisung oder -Anweisung, die mithilfe eines Anweisungsblocks definiert ist.
Remarks
BEGIN...END Blöcke können geschachtelt werden.
Obwohl alle Transact-SQL-Anweisungen innerhalb eines BEGIN...END Blocks gültig sind, sollten bestimmte Transact-SQL-Anweisungen nicht innerhalb desselben Batch- oder Anweisungsblocks gruppiert werden.
Examples
Im folgenden Beispiel wird durch BEGIN und END eine Reihe von Transact-SQL-Anweisungen definiert, die gemeinsam ausgeführt werden. Wenn der BEGIN...END Block nicht enthalten ist, werden beide ROLLBACK TRANSACTION Anweisungen ausgeführt, und beide PRINT Nachrichten werden zurückgegeben.
USE AdventureWorks2022;
GO
BEGIN TRANSACTION
GO
IF @@TRANCOUNT = 0
BEGIN
SELECT FirstName, MiddleName
FROM Person.Person
WHERE LastName = 'Adams';
ROLLBACK TRANSACTION;
PRINT N'Rolling back the transaction two times would cause an error.';
END;
ROLLBACK TRANSACTION;
PRINT N'Rolled back the transaction.';
GO
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
Im folgenden Beispiel wird durch BEGIN und END eine Reihe von SQL-Anweisungen definiert, die gemeinsam ausgeführt werden. Wenn der BEGIN...END Block nicht enthalten ist, wird das folgende Beispiel in einer fortlaufenden Schleife ausgeführt.
-- Uses AdventureWorksDW
DECLARE @Iteration INT = 0;
WHILE @Iteration < 10
BEGIN
SELECT FirstName,
MiddleName
FROM dbo.DimCustomer
WHERE LastName = 'Adams';
SET @Iteration += 1;
END;