Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric Preview
Plaatst een reeks Transact-SQL instructies, zodat een groep Transact-SQL instructies kan worden uitgevoerd in een logisch codeblok.
BEGIN en END zijn trefwoorden voor de controle van de stroomtaal.
Transact-SQL syntaxis-conventies
Syntax
BEGIN
{ sql_statement | statement_block }
END
Arguments
{ sql_statement | statement_block }
Elke geldige Transact-SQL instructie of instructiegroepering zoals gedefinieerd met behulp van een instructieblok.
Remarks
BEGIN...END blokken kunnen worden genest.
Hoewel alle Transact-SQL instructies geldig zijn binnen een BEGIN...END blok, mogen bepaalde Transact-SQL instructies niet in dezelfde batch of instructieblok worden gegroepeerd.
Examples
In het volgende voorbeeld BEGINEND definieert u een reeks Transact-SQL instructies die samen worden uitgevoerd. Als het BEGIN...END blok niet is opgenomen, worden beide ROLLBACK TRANSACTION instructies uitgevoerd en worden beide PRINT berichten geretourneerd.
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
Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)
In het volgende voorbeeld BEGIN definieert END u een reeks SQL-instructies die samen worden uitgevoerd. Als het BEGIN...END blok niet is opgenomen, wordt het volgende voorbeeld uitgevoerd in een doorlopende lus.
-- Uses AdventureWorksDW
DECLARE @Iteration INT = 0;
WHILE @Iteration < 10
BEGIN
SELECT FirstName,
MiddleName
FROM dbo.DimCustomer
WHERE LastName = 'Adams';
SET @Iteration += 1;
END;