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.
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.
*/