Ajá... ¿Y el END del BEGIN?
Cuando usas BEGIN/END es porque estás creando un SP, SF o TRIGGER multilínea, y en ese caso debes forzosamente cambiar momentáneamente el delimitador de sentencias. Caso contrario, no se usa el BEGIN/END y se pone en una sola sentencia todo: