Oracle

Bloques en PL/SQL

Por : Jhons_1101
2017-08-31
Tags :

Estructura de un Bloque en PL/SQL

Los bloques PL/SQL presentan una estructura específica compuesta de tres partes.

  • Una parte declarativa.
  • Una parte Ejecutable.
  • Una parte de control de excepciones.

  • Cada parte se delimita por una palabra reservada. Veamos.

    
    DECLARE
       -- Parte declarativa
    BEGIN
       -- Parte ejecutable
       DBMS_OUTPUT.PUT_LINE(‘Hola mundo’);
       // La salida será: ‘Hola mundo’
    EXCEPTION
       -- Parte excepciones
    END;
    

    En donde la parte ejecutable es obligatoria. La parte declarativa y la parte de las excepciones son opcionales. Pudiendo existir la parte declarativa sin existir la parte de las excepciones (imagen 1) y viceversa (imagen 2) o las dos (imagen 3).
    Parte declarativa sin excepciones en bloques PL/SQL

    Imagen 1. Parte declarativa sin existir la parte de las excepciones.

    Parte excepciones sin parte declarativa bloques PL/SQL

    Imagen 2. Parte de las excepciones sin existir la parte declarativa.
    Tres partes de un bloque PL/SQL

    Imagen 3. Presencia de las tres partes de un bloque.


    En la parte declarativa se enuncian las variables y constante formadas por el tipo de dato correspondiente y por un valor inicial que puede ser opcional. Aquellas variables que no se les asigna un valor estas tomarán el valor inicial NULL.

    También es posible definir el tipo de una variable o constante, dependiendo del tipo de otro identificador, mediante la utilización de las cláusulas %TYPE y %ROWTYPE. Mediante la primera opción se define una variable o constante a nivel de tipo de campo, y con la segunda se define una variable fila, donde el identificador puede ser otra variable fila o una tabla. Habitualmente se utiliza %TYPE para definir la variable del mismo tipo que tenga un campo en una tabla de la base de datos, mientras que %ROWTYPE se utiliza para declarar variables utilizando cursores. (devjoker, 2017)


    Ejemplo de un bloque en PL/SQL

    Ejemplo de un bloque que consume un cursor.


    Ejemplo de un bloque con parte declarativa en PL/SQL

    Ejemplo de un bloque con parte declarativa y ejecutable.


    Ejemplo de un bloque consume paquete db en PL/SQL

    Ejemplo de un bloque que consume un paquete en DB.
    compartir en facebook compartir en Google compartir en Twitter compartir en Blogger compartir como código embebido compartir la url

    Las unidades básicas (procedimientos, funciones y bloques anónimos) que componen un programa PL/SQL son bloques lógicos, que pueden ser anidados uno dentro de otro.

    Los bloque PL/SQL tiene tres partes básicas: una parte declarativa (DECLARE), una parte ejecutable (BEGIN .. END) y una parte de excepción (EXCEPTION) que maneja los errores de manera controlada. Aunque sólo se requiere la parte ejecutable (obligatorio). La parte declarativa es opcional y esta se escribe primero (parte superior), donde se definen los tipos de dato, las variables, constantes y elementos similares.
    Estos elementos pueden ser manipulados en la parte ejecutable (BEGIN .. END). Las excepciones también son opcionales y suelen ser planteadas durante la ejecución. Esta parte de las excepciones las veremos a detalle más adelante en este curso.

    Puede anidar bloques PL/SQL en las partes ejecutables, al igual que puede hacerlo con las excepciones, pero no en la parte declarativa.

    PL/SQL le permite declarar variables y constantes para luego usarlas en sentencias SQL y/o procedimientos (Que también los veremos más adelante) en donde se pueda usar la expresión. Para para ello y que no presente errores debe declararse la constante o la variable antes de referenciarla en cualquier otra declaración. Por ello debe de estar presente en la parte declarativa (DECLARE).
    Veamos esta imagen en donde se ilustra de mejor manera. Recuperado de: https://es.slideshare.net/joseluisarcec/1-clase-de-ps-sql Jose Luis Arce Caguana, 21 de nov. de 2014

    Estructura de un bloque en PL/SQL

    A los bloques igualmente se les puede asignar un nombre mediante los paréntesis dobles angulares. <>, el cual como ya sabes no puede contener espacios, aunque algunos caracteres especiales, más no todos.

    EN UN BLOQUE SE PUEDE LLAMAR FUNCIONES, PROCEDIMIENTOS, CURSORES ETC. TODO DENTRO DE LA PARTE EJECUTABLE (BEGIN – END).

    Veamos un ejemplo sencillo de un bloque.

    
    BEGIN
       DBMS_OUTPUT.PUT_LINE(‘Hola mundo’);
       // La salida será: ‘Hola mundo’
    END;
    
    

    Ejemplo funcionamiento de un bloque en PL/SQL

    Los elementos declarados localmente sólo existen dentro del bloque actual y de todos sus subbloques y no son visibles para los bloques adjuntos, es decir los bloques que esten por fuera.






    Si este contenido te fue útil, no olvides compartirlo en redes sociales, Considéralo. Puede ser la manera de agradecer!


    Agrega tu comentario...

    Puedes utilizar etiquetas <pre></pre>, <p></p>, <div></div>, + (Nombre usuario, para responderle a alguien)

    jLuvzod





    Este post no tiene comentarios, sé el primero en hacerlo
    Esta entrada no cuenta con imágenes adjuntas

    Unete al grupo de whatsApp +57 316 392 6456

    Sigue el grupo en facebook

    Siguenos.....