Resumen: en este tutorial, aprenderá sobre el bloque anónimo PL/SQL y cómo ejecutarlo utilizando las herramientas SQL*Plus y SQL Developer.
Descripción general del bloque anónimo PL/SQL
PL/SQL es un lenguaje estructurado en bloques cuyo código se organiza en bloques. Un bloque PL/SQL consta de tres secciones: la de declaración, la ejecutable y la de gestión de excepciones. En un bloque, la sección ejecutable es obligatoria mientras que las secciones de declaración y manejo de excepciones son opcionales.
Un bloque PL/SQL tiene un nombre. Las funciones o procedimientos son un ejemplo de un bloque con nombre. Un bloque con nombre se guarda en el servidor de la Base de Datos Oracle y puede reutilizarse posteriormente.
Un bloque sin nombre es un bloque anónimo. Un bloque anónimo no se guarda en el servidor de la Base de Datos Oracle, por lo que es de uso único. Sin embargo, los bloques anónimos PL/SQL pueden ser útiles para fines de prueba.
La siguiente imagen ilustra la estructura de un bloque PL/SQL:
1) Sección de declaración
Un bloque PL/SQL tiene una sección de declaración en la que se declaran variables, se asigna memoria para los cursores y se definen tipos de datos.
2) Sección ejecutable
Un bloque PL/SQL tiene una sección ejecutable. Una sección ejecutable comienza con la palabra clave BEGIN
y termina con la palabra clave END
. La sección ejecutable debe tener al menos una sentencia ejecutable, incluso si es la sentencia NULL
que no hace nada.
3) Sección de manejo de excepciones
Un bloque PL/SQL tiene una sección de manejo de excepciones que comienza con la palabra clave EXCEPTION
. La sección de manejo de excepciones es donde se capturan y manejan las excepciones planteadas por el código en la sección de ejecución.
Nótese que un bloque en sí mismo es una sentencia ejecutable, por lo que se puede anidar un bloque dentro de otros bloques.
Ejemplo de bloque anónimo PL/SQL
El siguiente ejemplo muestra un simple bloque anónimo PL/SQL con una sección ejecutable.
La sección ejecutable llama al procedimiento DMBS_OUTPUT.PUT_LINE
para mostrar el mensaje "Hello World"
en la pantalla.
Ejecutar un bloque anónimo PL/SQL utilizando SQL*Plus
Una vez que se tiene el código de un bloque anónimo, se puede ejecutar utilizando SQL*Plus, que es una interfaz de línea de comandos para ejecutar sentencias SQL y bloques PL/SQL que proporciona Oracle Database.
La siguiente imagen ilustra cómo ejecutar un bloque PL/SQL utilizando SQL*Plus:
Primero, conéctese al servidor de Oracle Database utilizando un nombre de usuario y una contraseña.
Segundo, active la salida del servidor utilizando el comando SET SERVEROUTPUT ON
para que el procedimiento DBMS_OUTPUT.PUT_LINE
muestre texto en la pantalla.
Tercero, escriba el código del bloque e introduzca una barra diagonal ( /
) para indicar a SQL*Plus que ejecute el bloque. Una vez que escriba la barra diagonal (/), SQL*Plus ejecutará el bloque y mostrará el mensaje Hello World
en la pantalla como se muestra en las ilustraciones.
Tenga en cuenta que debe ejecutar el comando SET SERVEROUTPUT ON
en cada sesión que se conecte a la base de datos Oracle para mostrar el mensaje mediante el procedimiento DBMS_OUTPUT.PUT_LINE
.
Para volver a ejecutar el bloque que ha introducido, utilice el comando /
en lugar de escribir todo desde el principio:
Si desea editar el bloque de código, utilice el comando edit
. SQL*Plus escribirá el bloque de código en un archivo y lo abrirá en un editor de texto como se muestra en la siguiente imagen:
Puede cambiar el contenido del archivo de la siguiente manera:
Y guardar y cerrar el archivo. El contenido del archivo se escribirá en el buffer y se recompilará.
Después de eso, puede ejecutar el bloque de código de nuevo, utilizará el nuevo código:
Ejecutar un bloque anónimo PL/SQL utilizando SQL Developer
Primero, conéctese al servidor de la base de datos Oracle utilizando Oracle SQL Developer.
Segundo, cree un nuevo archivo SQL llamado anonymous-block.sql
residido en el directorio C:\plsql
que almacenará el código PL/SQL.
En tercer lugar, introduzca el código PL/SQL y ejecútelo haciendo clic en el botón Ejecutar o pulsando el atajo de teclado Ctrl-Enter.
Más ejemplos de bloques anónimos PL/SQL
En este ejemplo, primero declaramos una variable l_message
que contiene el mensaje de saludo. Y luego, en la sección de ejecución, utilizamos el procedimiento DBMS_OUTPUT.PUTLINE
para mostrar el contenido de esta variable en lugar de utilizar una cadena literal.
Aquí está la salida:
Hello World!
El siguiente ejemplo de bloque anónimo añade una sección de manejo de excepciones que atrapa la excepción ZERO_DIVIDE
planteada en la sección de ejecución y muestra un mensaje de error.
El mensaje de error es:
ORA-01476: divisor is equal to zero
Ahora debería saber cómo crear bloques anónimos PL/SQL y ejecutarlos utilizando las herramientas SQL*Plus y Oracle SQL Developer.
- ¿Ha sido útil este tutorial?
- SíNo