Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Inclui uma série de instruções Transact-SQL para que um grupo de instruções Transact-SQL possa ser executado em um bloco lógico de código.
BEGIN e END são palavras-chave de linguagem de controle de fluxo.
Transact-SQL convenções de sintaxe
Syntax
BEGIN
{ sql_statement | statement_block }
END
Arguments
{ sql_statement | statement_block }
Qualquer instrução Transact-SQL válida ou agrupamento de instruções, conforme definido usando um bloco de instrução.
Remarks
BEGIN...END os blocos podem ser aninhados.
Embora todas as instruções Transact-SQL sejam válidas dentro de um BEGIN...END bloco, certas instruções Transact-SQL não devem ser agrupadas dentro do mesmo lote ou bloco de instrução.
Examples
No exemplo a seguir, BEGIN e END defina uma série de Transact-SQL instruções que são executadas juntas. Se o BEGIN...END bloco não for incluído, ambas as ROLLBACK TRANSACTION instruções serão executadas e ambas as PRINT mensagens serão retornadas.
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
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
No exemplo a seguir, BEGIN e END defina uma série de instruções SQL que são executadas juntas. Se o BEGIN...END bloco não estiver incluído, o exemplo a seguir será executado em um loop contínuo.
-- Uses AdventureWorksDW
DECLARE @Iteration INT = 0;
WHILE @Iteration < 10
BEGIN
SELECT FirstName,
MiddleName
FROM dbo.DimCustomer
WHERE LastName = 'Adams';
SET @Iteration += 1;
END;