Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Omsluter en serie Transact-SQL-instruktioner så att en grupp med Transact-SQL-instruktioner kan köras i ett logiskt kodblock.
BEGIN och END är nyckelord för flödesstyre.
Transact-SQL syntaxkonventioner
Syntax
BEGIN
{ sql_statement | statement_block }
END
Arguments
{ sql_statement | statement_block }
Alla giltiga Transact-SQL-instruktion eller -instruktionsgruppering enligt definitionen med hjälp av ett instruktionsblock.
Remarks
BEGIN...END block kan kapslas.
Även om alla Transact-SQL-instruktioner är giltiga inom ett BEGIN...END block bör vissa Transact-SQL-instruktioner inte grupperas i samma batch eller instruktionsblock.
Examples
I följande exempel BEGIN och END definiera en serie Transact-SQL-instruktioner som körs tillsammans. Om blocket inte ingår körs båda ROLLBACK TRANSACTION uttrycken BEGIN...END och båda PRINT meddelandena returneras.
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
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
I följande exempel definierar BEGIN du END en serie SQL-instruktioner som körs tillsammans. Om blocket BEGIN...END inte ingår körs följande exempel i en kontinuerlig loop.
-- Uses AdventureWorksDW
DECLARE @Iteration INT = 0;
WHILE @Iteration < 10
BEGIN
SELECT FirstName,
MiddleName
FROM dbo.DimCustomer
WHERE LastName = 'Adams';
SET @Iteration += 1;
END;