Compartilhar via


BEGIN...END (Transact-SQL)

Engloba uma série de instruções Transact-SQL de modo que um grupo de instruções Transact-SQL pode ser executado. BEGIN e END são palavras-chave da linguagem de controle de fluxo.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

BEGIN
     { 
        sql_statement | statement_block 
     } 
END

Argumentos

  • { sql_statement| statement_block }
    É qualquer instrução Transact-SQL válida ou agrupamento de instruções válido, conforme definição por meio de um bloco de instrução.

Comentários

Os blocos BEGIN...END podem ser aninhados.

Embora todas as instruções Transact-SQL sejam válidas em um bloco BEGIN...END, certas instruções Transact-SQL não devem ser agrupadas no mesmo lote ou bloco de instruções. Para obter mais informações, consulte Lotes e as instruções individuais usadas.

Exemplos

No exemplo a seguir, BEGIN e END definem uma série de instruções Transact-SQL que são executadas em conjunto. Se o bloco BEGIN...END não tivesse sido incluído, ambas as instruções ROLLBACK TRANSACTION seriam executadas e as mensagens PRINT seriam retornadas.

USE AdventureWorks;
GO
BEGIN TRANSACTION;
GO
IF @@TRANCOUNT = 0
BEGIN
SELECT * from Person.Contact 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
/*
Rolled back the tranaction.
*/