[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.