Esta documentación está archivada y no tiene mantenimiento.

BEGIN...END (Transact-SQL)

Encierra un conjunto de instrucciones Transact-SQL de forma que se pueda ejecutar un grupo de instrucciones Transact-SQL. BEGIN y END son palabras clave del lenguaje de control de flujo.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL


BEGIN
     { 
        sql_statement | statement_block 
     } 
END

{ sql_statement | statement_block }

Se trata de cualquier instrucción o grupo de instrucciones Transact-SQL definidas con un bloque de instrucciones.

Los bloques BEGIN...END pueden anidarse.

Aunque todas las instrucciones Transact-SQL son válidas en un bloque BEGIN...END, ciertas instrucciones Transact-SQL no deben agruparse en el mismo proceso por lotes o bloque de instrucciones. Para obtener más información, vea Lotes y las instrucciones concretas que se utilizan.

En el siguiente ejemplo, BEGIN y END definen un conjunto de instrucciones Transact-SQL que se ejecutan juntas. Si el bloqueo BEGIN...END no se incluye, ambas instrucciones ROLLBACK TRANSACTION se ejecutarán y se devolverán ambos mensajes PRINT.

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