> Manuales > Tutorial de Oracle

Qué es el lenguaje PL/SQL y primeras explicaciones para saber cómo funciona este gestor PL/SQL.

Nos encontramos ante un gestor que va incorporado en Oracle para solventar las grandes limitaciones que teníamos con los editores SQL, en cuanto al control de las secuencias de ejecución de instrucciones, el uso de variables, la gestión de posibles errores, etc.

Este lenguaje esta basado en ADA, por lo que incluye todas las características de los lenguajes de tercera generación. Esto nos permite manejar las variables, tener una estructura modular (procedimientos y funciones) y controlar las excepciones. Además incorpora un completo soporte para la programación orientada a objetos (POO).

Los programas creados con PL/SQL los podemos almacenar en nuestra base de datos como cualquier otro objeto quedando disponibles para los usuarios. El uso del lenguaje PL/SQL es imprescindible para construir disparadores de bases de datos (triggers).

PL/SQL esta incluido en el servidor y en algunas herramientas de cliente. Soporta todos los comandos de consulta y manipulación de datos, aportando al lenguaje SQL las estructuras de control y otros elementos propios de los lenguajes de programación de 3º generación.

La unidad de trabajo en PL/SQL es el bloque, constituido por un conjunto de declaraciones, instrucciones y mecanismos de gestión de errores y excepciones.

Bloques

Con PL/SQL se pueden construir distintos tipos de programas: procedimientos, funciones y bloques anónimos, paquetes, etc. Todos ellos tienen en común una estructura básica denominada bloque.

Un bloque tiene 3 zonas:

Zona de declaraciones: donde se declaran objectos locales. Suele ir precedida por la cláusula declare (o is o as en los procedimientos y funciones).
Un conjunto de instrucciones precedido por la cláusula BEGIN
Zona de excepciones: es una zona opcional precedida por la cláusula EXCEPTION, donde se gestionan las excepciones.
El formato genérico de un bloque es el siguiente:

[ DECLARE
   <declaraciones>]
BEGIN
   <instrucciones>
[EXCEPTION
   <gestión de excepciones>]
END;

Las únicas cláusulas obligatorias son BEGIN y END

Antes de hacer ningún bloque tenemos que ejecutar el siguiente comando en nuestra ventana de Sql *PLUS

set serveroutput on;

Aunque ahora no entendáis mucho os dejo un ejemplo de un bloque para que os vayáis familiarizando con la sintaxis.

DECLARE
   v_num_empleados number(2);
BEGIN
   insert into depart values(99,'provisional',null);
   update emple set dept_no=99 where dept_no=20;
   v_num_empleados:=SQL%ROWCOUNT;
   delete from depart where dept_no=20
   DBMS_OUTPUT.PUT_LINE (v_num_empleados || 'Empleados cambiados a provisional');

Ya en próximos artículos nos meteremos de lleno en la construcción de bloque y en entender las lineas arriba escritas.

Sara Alvarez

Equipo DesarrolloWeb.com

Manual