[etiqueta_inicio:] BEGIN [lista_sentencias] END [etiqueta_fin]
La sintaxis BEGIN ... END se utiliza para escribir
sentencias compuestas que pueden aparecer en el interior de procedimientos
almacenados y triggers. Una sentencia compuesta puede contener múltiples
sentencias, encerradas por las palabras BEGIN y
END. lista_sentencias es una
lista de una o más sentencias. Cada sentencia dentro de lista_sentencias
debe terminar con un punto y como (;) delimitador de sentencias.
lista_sentencias es opcional, lo que significa
que la sentencia compuesta vacía (BEGIN END es correcta.
El uso de múltiples sentencias requiere que el cliente pueda enviar cadenas
de sentencias que contengan el delimitador ;. Esto se
gestiona en el cliente de línea de comandos mysql con el comando
delimiter. Cambiar el delimitador de fin de sentencia
; (por ejemplo con //) permite utilizar
; en el cuerpo de una rutina.
Véase por ejemplo Sección 19.2.1, “CREATE PROCEDURE y CREATE FUNCTION”.
Un comando compuesto puede etiquetarse. No se puede poner
end_label a no ser que
también esté presente begin_label ,
y si ambos están, deben ser iguales.
La cláusula opcional [NOT] ATOMIC no está soportada
todavía. Esto significa que no hay
un punto transaccional al inicio del bloque de instrucciones y
la cláusula BEGIN usada en este contexto no
tiene efecto en la transacción actual.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.
