Antes
de nada hay que tener conocimiento de que SQL es un lenguaje de consulta para
las bases de datos relacionales, pero que no posee la potencia de los lenguajes
de programación. Debido a esto, existe PL/SQL, para combinar la capacidad de
consulta de SQL con la potencia de los lenguajes de programación y
así poder realizar aplicaciones completas para el manejo de bases de datos
relacionales.
PL/SQL (Procedural Language/Structured Query
Language) es un
lenguaje de programación incrustado en Oracle, o
dicho de otra manera PL/SQL es un lenguaje procedimental diseñado por Oracle
para trabajar con la base de datos. 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 procedimentales de tercera generación.
La unidad mínima de trabajo es el bloque, es un lenguaje estructurado en
bloques. Es un lenguaje embebido en ORACLE y PostgreSQL.PL/SQL amplía la
funcionalidad de SQL añadiendo estructuras habituales en otros lenguajes de
programación como:
- Variables y tipos (predefinidos y definidos por el usuario).
- Estructuras de control (bucles y condiciones IF-THEN-ELSE).
- Procedimientos y funciones.
- Variables y tipos (predefinidos y definidos por el usuario).
- Estructuras de control (bucles y condiciones IF-THEN-ELSE).
- Procedimientos y funciones.
El
lenguaje PL/SQL está incorporado en:
- Servidor de la Base de datos.
- Herramientas de Oracle(FORMS, REPORTS, …)
- Servidor de la Base de datos.
- Herramientas de Oracle(FORMS, REPORTS, …)
Tipos
de objetos y métodos. Además de ser procedimental, este lenguaje es modulable,
es decir, es posible encapsular el código para su reutilización posterior. De esa
forma eliminamos la posibilidad de que exista código redundante, se mejora la
eficiencia de las aplicaciones, la seguridad, etc.
Los módulos de PL/SQL están divididos en cuatro categorías: Procedimientos, Funciones, Paquetes y Triggers:
- Procedimientos: código encapsulado que acepta parámetros de entrada y que no devuelve ningún tipo de valor.
- Funciones: código encapsulado que acepta parámetros de entrada y que devuelve un valor.
- Paquete: conjunto de procedimientos y funciones. Tiene dos partes: la especificación, con la cabecera de las funciones, procedimientos y la declaración de variables, y el cuerpo, con el código de estos módulos. Es una forma de aglutinar módulos relacionados entre si. Se utiliza como una biblioteca.
- Triggers: código PL/SQL asociado a una tabla que se activa siempre que se dé un determinado evento (insert, update, delete). Se utilizan para implementar restricciones complejas en las tablas
Los módulos de PL/SQL están divididos en cuatro categorías: Procedimientos, Funciones, Paquetes y Triggers:
- Procedimientos: código encapsulado que acepta parámetros de entrada y que no devuelve ningún tipo de valor.
- Funciones: código encapsulado que acepta parámetros de entrada y que devuelve un valor.
- Paquete: conjunto de procedimientos y funciones. Tiene dos partes: la especificación, con la cabecera de las funciones, procedimientos y la declaración de variables, y el cuerpo, con el código de estos módulos. Es una forma de aglutinar módulos relacionados entre si. Se utiliza como una biblioteca.
- Triggers: código PL/SQL asociado a una tabla que se activa siempre que se dé un determinado evento (insert, update, delete). Se utilizan para implementar restricciones complejas en las tablas
En un entorno de base de datos los programadores pueden construir bloques PL/SQL para utilizarlos como procedimientos o funciones, o bien pueden escribir estos bloques como parte de scripts SQL*Plus.
Todos
estos módulos, una vez creados, se compilarán en la Base de Datos transformándose
en objetos propios de dicha Base de Datos. De tal forma que pueden ser
utilizados por cualquier usuario u otro código, siempre que se tenga permiso
para ello. Estos módulos (programas, paquetes, ...) se ejecutan en el servidor
para ahorrar recursos a los clientes.
Bloques
PL/SQL
La unidad básica en PL/SQL es el
bloque. Todos los programas PL/SQL están compuestos por bloques que pueden
estar anidados. Un bloque PL/SQL está compuesto de tres partes principales:
- Declaración (opcional).
- Ejecución (opcional).
- Excepciones (opcional)
- Declaración (opcional).
- Ejecución (opcional).
- Excepciones (opcional)
A continuación se presenta cual es la
estructura de un bloque PL/SQL.
DECLARE
//Declaración
BEGIN
//Ejecución
EXCEPTION
//Excepciones
END
Podemos crear varios tipos de bloques
diferentes:
- Bloques anónimos: Se construyen de forma dinámica y se suelen ejecutar una sola vez.
- Bloques nominados( o con nombre): Igual que los anónimos pero con una etiqueta que les da nombre.
o Subprogramas: Procedimientos, paquetes y funciones, almacenados de la Base de Datos y que se ejecutan en múltiples ocasiones. Los subprogramas se ejecutarán mediante una llamada.
o Disparadores (“Triggers”): Bloques nominados que se almacenan en la Base de Datos y se ejecutan ante algún suceso.
- Bloques anónimos: Se construyen de forma dinámica y se suelen ejecutar una sola vez.
- Bloques nominados( o con nombre): Igual que los anónimos pero con una etiqueta que les da nombre.
o Subprogramas: Procedimientos, paquetes y funciones, almacenados de la Base de Datos y que se ejecutan en múltiples ocasiones. Los subprogramas se ejecutarán mediante una llamada.
o Disparadores (“Triggers”): Bloques nominados que se almacenan en la Base de Datos y se ejecutan ante algún suceso.
CONTINUARÁ.........................
No hay comentarios :
Publicar un comentario