La sentencia BEGIN ... END da a las sentencias definidas entre las palabras clave BEGIN y END el estado de una única sentencia.
Esto permite que las sentencias formen parte del cuerpo de una función o procedimiento.
La segunda Etiqueta sólo puede estar presente si la primera Etiqueta está presente y las etiquetas deben ser idénticas. Dos o más sentencias etiquetadas en el mismo nivel pueden tener la misma Etiqueta, pero esto niega parcialmente la ventaja de la segunda Etiqueta. La ventaja es que en las etiquetas coinciden, de manera precisa y no ambigua, cada END con su BEGIN. Sin embargo, una sentencia etiquetada dentro de sentencias no puede tener la misma Etiqueta, porque esto hace que el comportamiento de las sentencias ITERATE y LEAVE sea ambiguo.
Puede considerar la sentencia BEGIN ... END como una construcción de bucle, que siempre realiza un bucle sólo una vez. El efecto de una sentencia ITERATE o LEAVE dentro de una sentencia BEGIN ... END es el mismo; el control se transfiere a la sentencia que sigue a END. Utilizar ITERATE o LEAVE dentro de una sentencia BEGIN ... END es útil en los casos en que hay una larga serie de cálculos que es necesario abandonar, porque se ha alcanzado un resultado definido o porque se ha producido un error.
DECLARE Variable1 CHAR 'Existing variable'; -- Una referencia a Variable1 aquí devuelve 'Existing variable' BEGIN -- Una referencia a Variable1 aquí devuelve 'Existing variable' DECLARE Variable1 CHAR 'Local variable'; -- Perfectamente válido aunque el nombre sea el mismo -- Una referencia a Variable1 aquí devuelve 'Local variable' END;
Conceptos relacionados
ESQL
Tareas relacionadas
Desarrollo de ESQL
Referencia relacionada
Preferencia de sintaxis
Sentencias ESQL
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ak04940_ |