Pl/sql
Procedural Language/Structured Query Language
Introducción
¿Que hace que PL/SQL sea único?
la integración que tiene con SQL.
La facilidad y naturalidad con que se puede incrustar SQL
en PL/SQL, mas que en cualquier otro lenguaje.
PL/SQL es ideal para escribir largos y complejos programas
que deben interactuar con la Base de Datos ORACLE.
Diferencia entreSQL y PL/SQL
SQL y PL/SQL son completamente diferentes. SQL es un lenguaje limitado permite interactuar con la BD,
manipulando objetos (DDL) y datos (DML).
PL/SQL tiene características que tiene cualquier lenguaje de
programación normal, ejemplo instrucciones como IF..THEN. tiene con SQL.
PL/SQL tiene como principal ventaja la integración que
ORACLE PL/SQL
ORACLE PL/SQLProcedural Language/Structured Query Language.
Apareció por primera vez en ORACLE versión 6 (1988).
Es un entorno de programación que reside directamente
en la BD.
Lenguaje de programación sencillo similar a C y ADA. Lenguaje procedimental que amplia la funcionalidad de
SQL añadiendo estructuras habituales en otros lenguajes: variables y tipos, estructuras de control,procedimientos y funciones, …
Creación de Programas
Se pueden crear con cualquier editor y ejecutarlos desde El
prompt del SQL*PLUS con START o @.
Los archivos creados serán de texto y tendrán la extensión
.sql.
Para que un archivo se ejecute correctamente debe tener en
su última línea el símbolo /.
Conceptos Básicos de PL/SQL
Estructura de Bloques
La unidad básica enPL/SQL es el bloque. Todos los programas PL/SQL están compuestos por
bloques, que pueden definirse de forma secuencial o estar anidados.
Normalmente cada bloque realiza una unidad lógica de
trabajo en el programa, separando así unas tareas de otras.
Conceptos Básicos de PL/SQL Estructura de Bloques
Hay diferentes tipos de bloques:
Anónimos (Anonymous blocks).- se construyen deforma dinámica
y se ejecutan una sola vez.
Con nombre (Named blocks).- son bloques con nombre, que al
igual que el anterior se construyen, generalmente, de forma dinámica y se ejecutan una sola vez. en la BD. No suelen cambiar después de su construcción y se ejecutan múltiples veces mediante una llamada call.
Subprogramas.- procedimientos, paquetes o funciones almacenados
Disparadores (Triggers).- son bloques con nombre que también se
almacenan en la BD. Tampoco suelen cambiar después de su construcción y se ejecutan varias veces. Se ejecutan ante algún suceso de disparo, que será una orden del lenguaje de manipulación de datos (INSERT, UPDATE o DELETE) que se ejecuta sobre una tabla de la BD.
Estructura de Bloques
Todos los bloques tienen tres seccionesdiferenciadas:
Sección Declarativa:
Donde se localizan todas las variables, cursores y tipos usados por el bloque. También se pueden declarar en esta sección las funciones y procedimientos locales. Estos subprogramas estarán disponibles solo para ese bloque. Donde se lleva a cabo el trabajo del bloque. En esta sección pueden aparecer tanto órdenes SQL (LMD y LCD) como órdenes procedimentales. Elcódigo de esta sección no se ejecutará a menos que ocurra un error.
Sección Ejecutable:
Sección Errores:
Estructura de Bloques
DECLARE Declaración de variables y subprogramas Esta sección es opcional BEGIN Sección ejecutable, se incluyen las sentencias de SQL y procedimientos Es la sección principal del bloque y es obligatoria (al menos debe haber una orden ejecutable) EXCEPTIONZona de excepción, se pueden colocar aquí las sentencias en caso de error, esta sección es opcional END;
Ejemplos Básicos
Declare -- Declaraciones varias Begin -- Cuerpo del programa End; Declare str_texto varchar2(30):=‘Hola Mundo’; Begin dbms_output.put_line(str_texto); End;
Reglas y Convenciones del Lenguaje
Unidades Léxicas:
Secuencia de caracteres
Conjunto de caracteres...
Regístrate para leer el documento completo.