PL/SQL es un lenguaje procedimental estructurado en bloques para SQL desarrollado por Oracle Corporation a fines de la década de 1980.
¿Por qué usar PL/SQL?
- A pesar de que SQL tiene mecanismos de control condicional (cláusula CASE WHEN) e iterativos (implícitos) en ocasiones se requiere manipular y controlar los datos de manera secuencial, y mejorar el desempeño de las aplicaciones.
- Existen problemas cuya solución es más “sencilla” y eficiente usando un lenguaje procedimental en vez de utilizar SQL “puro”.
- Con PL/SQL se pueden crear procedimientos, funciones, disparadores (triggers) y bibliotecas de funciones y procedimientos llamadas paquetes.
Bloques PL/SQL
Un bloque PL/SQL está dividida en 3 secciones:
- Sección de declaración: Esta sección empieza con la palabra reservada DECLARE y es usada para declarar las variables, constantes, cursores, etc.
- Sección de ejecución: Empieza con la palabra reservada BEGIN y termina con la palabra reservada END. Se usa para escribir el código lógico de programación.
- Sección de manejo de excepciones: Esta parte del bloque se inicia con la palabra reservada EXCEPTION en donde se colocan todas las excepciones que pueden ocurrir en la sección de ejecución.
Notas:
- Las secciones de declaración y excepción son opcionales, mientras que la sección de ejecución es obligatoria.
- Los comentarios si contienen muchas líneas van entre /* */. En caso de tener una sola línea se puede escribir después de -- (dos guiones).
- Cada declaración en PL/SQL será seguida por punto y coma (;).
- Los bloques pueden contener otros bloques.
- Si se usa SQL Plus para ver los resultados de la impresión se debe ejecutar SET SERVEROUT ON o SET SERVEROUTPUT ON al inicio, después la palabra reservada END y por último se debe poner /. Si desea ver los resultados con
SQL Developer coloque al inicio del script SET SERVEROUT ON o SET SERVEROUTPUT ON.
A continuación, se muestran en las siguientes imágenes la estructura de un bloque PL/SQL y un bloque que contenga otro bloque.


Ventajas de PL/SQL
- Es un lenguaje procedimental.
- Es un lenguaje de estructura de bloques.
- Puede manejar excepciones.
- El motor PL/SQL procesa varias declaraciones SQL al mismo tiempo como un solo bloque, haciendo que se reduzca el tráfico de red y proporcionando un mejor rendimiento
Última modificación: lunes, 11 de mayo de 2020, 21:02