Share via


Usar BEGIN...END

Las instrucciones BEGIN y END se usan para agrupar varias instrucciones Transact-SQL en un bloque lógico. Use las instrucciones BEGIN y END en cualquier parte cuando una instrucción de control de flujo deba ejecutar un bloque con dos o más instrucciones Transact-SQL.

Por ejemplo, cuando una instrucción IF controla la ejecución de una única instrucción Transact-SQL, no se necesita ninguna instrucción BEGIN o END:

IF (@@ERROR <> 0)
   SET @ErrorSaveVariable = @@ERROR

Si @@ERROR es 0, sólo se salta la instrucción individual SET.

Use las instrucciones BEGIN y END para hacer que la instrucción IF salte un bloque de instrucciones cuando se evalúe como FALSE:

IF (@@ERROR <> 0)
BEGIN
   SET @ErrorSaveVariable = @@ERROR
   PRINT 'Error encountered, ' + 
         CAST(@ErrorSaveVariable AS VARCHAR(10))
END

Las instrucciones BEGIN y END deben usarse como un par: no se puede usar una sin la otra. La instrucción BEGIN aparece sola en una línea, seguida de un bloque de instrucciones Transact-SQL. Por último, la instrucción END aparece sola en una línea para indicar el fin del bloque.

[!NOTA]

Un bloque de instrucciones BEGIN y END debe incluir al menos una instrucción Transact-SQL.

Las instrucciones BEGIN y END se usan en los casos siguientes:

  • Cuando es necesario que un bucle WHILE incluya un bloque de instrucciones.

  • Cuando es necesario que un elemento de una instrucción CASE incluya un bloque de instrucciones.

  • Cuando es necesario que una cláusula IF o ELSE incluya un bloque de instrucciones.