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.
Convençõ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 definido 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ção.
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 AdventureWorks2012;
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
/*
Rolled back the transaction.
*/