Bloque PL/SQL: ESTRUCTURA, Sintaxis, Ejemplo ANÓNIMO

¿Qué es el bloque PL/SQL?

En PL/SQL, el código no se ejecuta en formato de una sola línea, sino que siempre se ejecuta agrupando el código en un único elemento llamado Bloques. En este tutorial, aprenderá sobre estos bloques.

Los bloques contienen instrucciones PL/SQL y SQL. Todas estas instrucciones se ejecutarán como un todo en lugar de ejecutar una sola instrucción a la vez.

Estructura de bloque

Los bloques PL/SQL tienen una estructura predefinida en la que se agrupará el código. A continuación se muestran diferentes secciones de bloques PL/SQL.

  1. Sección de declaración
  2. Sección de ejecución
  3. Sección de manejo de excepciones

La siguiente imagen ilustra los diferentes bloques PL/SQL y su orden de secciones.

Estructura de bloque

Sección de declaración

Esta es la primera sección de los bloques PL/SQL. Esta sección es una parte opcional. Esta es la sección en la que se declarará la declaración de variables, cursores, excepciones, subprogramas, instrucciones pragma y colecciones que se necesitan en el bloque. A continuación se presentan algunas características más de esta pieza.

  • Esta sección en particular es opcional y se puede omitir si no se necesitan declaraciones.
  • Esta debería ser la primera sección de un bloque PL/SQL, si está presente.
  • Esta sección comienza con la palabra clave "DECLARAR" para activadores y bloqueo anónimo. Para otros subprogramas, esta palabra clave no estará presente. En cambio, la parte después de la definición del nombre del subprograma marca la sección de declaración.
  • Esta sección siempre debe ir seguida de la sección de ejecución.

Sección de ejecución

La parte de ejecución es la parte principal y obligatoria que realmente ejecuta el código escrito en su interior. desde el PL / SQL espera las declaraciones ejecutables de este bloque. Este no puede ser un bloque vacío, es decir, debe tener al menos una línea de código ejecutable válida. A continuación se presentan algunas características más de esta pieza.

  • Puede contener tanto código PL/SQL como código SQL.
  • Puede contener uno o varios bloques en su interior como un bloque anidado.
  • Esta sección comienza con la palabra clave "COMENZAR".
  • Esta sección debe ir seguida de "FIN" o de la sección Manejo de excepciones (si está presente)

Sección de manejo de excepciones

La excepción es inevitable en el programa que ocurre en tiempo de ejecución y para manejar esto Oracle ha proporcionado una sección de manejo de excepciones en bloques. Esta sección también puede contener declaraciones PL/SQL. Esta es una sección opcional de los bloques PL/SQL.

  • Esta es la sección donde se maneja la excepción planteada en el bloque de ejecución.
  • Esta sección es la última parte del bloque PL/SQL.
  • El control desde esta sección nunca puede volver al bloque de ejecución.
  • Esta sección comienza con la palabra clave "EXCEPCIÓN".
  • Esta sección siempre debe ir seguida de la palabra clave "FIN".

La palabra clave 'END' marca el final del bloque PL/SQL.

Sintaxis del bloque PL/SQL

A continuación se muestra la sintaxis de la estructura de bloques PL/SQL.

Sintaxis del bloque PL/SQL

DECLARE --optional
    <declarations>

BEGIN   --mandatory
    <executable statements. At least one executable statement is mandatory>

EXCEPTION --optional 
    <exception handles>

END;   --mandatory
/

Nota: Un bloque siempre debe ir seguido de '/', que envía la información al compilador sobre el final del bloque.

Tipos de bloque PL/SQL

Los bloques PL/SQL son principalmente de dos tipos.

  1. Bloques anónimos
  2. Bloques con nombre

Bloques anónimos

Los bloques anónimos son bloques PL/SQL que no tienen ningún nombre asignado. Deben crearse y usarse en la misma sesión porque no se almacenarán en el servidor como objetos de base de datos.

Como no necesitan almacenarse en la base de datos, no necesitan pasos de compilación. Se escriben y ejecutan directamente, y la compilación y ejecución ocurren en un solo proceso.

A continuación se muestran algunas características más de los bloques anónimos.

  • Estos bloques no tienen ningún nombre de referencia especificado.
  • Estos bloques comienzan con la palabra clave "DECLARAR" o "COMENZAR".
  • Dado que estos bloques no tienen ningún nombre de referencia, no se pueden almacenar para later objetivo. Se crearán y ejecutarán en la misma sesión.
  • Pueden llamar a los otros bloques con nombre, pero no es posible llamar a un bloque anónimo porque no tiene ninguna referencia.
  • Puede tener un bloque anidado que puede tener nombre o ser anónimo. También se puede anidar en cualquier bloque.
  • Estos bloques pueden tener las tres secciones del bloque, en las cuales la sección de ejecución es obligatoria y las otras dos secciones son opcionales.

bloques con nombre

Los bloques con nombre tienen un nombre específico y único para ellos. Se almacenan como objetos de base de datos en el servidor. Dado que están disponibles como objetos de base de datos, se puede hacer referencia a ellos o utilizarlos siempre que estén presentes en el servidor. El proceso de compilación de bloques con nombre ocurre por separado mientras se crean como objetos de base de datos.

A continuación se muestran algunas características más de los bloques con nombre.

  • Estos bloques se pueden llamar desde otros bloques.
  • La estructura del bloque es la misma que la de un bloque anónimo, excepto que nunca comenzará con la palabra clave "DECLARAR". En cambio, comenzará con la palabra clave "CREAR", que indica al compilador que lo cree como un objeto de base de datos.
  • Estos bloques se pueden anidar dentro de otros bloques. También puede contener bloques anidados.
  • Los bloques con nombre son básicamente de dos tipos:
  1. Procedimiento
  2. Función

Aprenderemos más sobre estos bloques con nombre en los temas "Procedimiento" y "Función" en later tutorial.

Resumen

Después de este tutorial, debería conocer los bloques PL/SQL y sus tipos, las diferentes secciones de bloques y sus usos. La descripción detallada de los bloques PL/SQL nombrados se cubrirá en el later tutorial.