BEGIN...END (Transact-SQL)
Encloses a series of Transact-SQL statements so that a group of Transact-SQL statements can be executed. BEGIN and END are control-of-flow language keywords.
Transact-SQL Syntax Conventions
Syntax
BEGIN
{
sql_statement | statement_block
}
END
Arguments
- { sql_statement| statement_block }
Is any valid Transact-SQL statement or statement grouping as defined by using a statement block.
Remarks
BEGIN...END blocks can be nested.
Although all Transact-SQL statements are valid within a BEGIN...END block, certain Transact-SQL statements should not be grouped together within the same batch, or statement block. For more information, see Batches and the individual statements used.
Examples
In the followoing example, BEGIN
and END
define a series of Transact-SQL statements that execute together. If the BEGIN...END
block were not included, both ROLLBACK TRANSACTION
statements would execute and both PRINT
messages would be returned.
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.
*/
See Also
Reference
ALTER TRIGGER (Transact-SQL)
Control-of-Flow Language (Transact-SQL)
CREATE TRIGGER (Transact-SQL)
END (BEGIN...END) (Transact-SQL)