temario
SISTEMAS
GESTORES DE
BASES DE DATOS
(ASGBD)
Apuntes
y
Ejercicios
Administración de sistemas gestores de Bases de datos.
Introducción al lenguaje PL/SQL (Cap. 8)
Oracle incorpora un gestor PL/SQL (basado en lenguaje ADA), incorpora todas las características de
lenguajes de tercera generación:
• Manejo de variables.
• Estructura modular (procedimientos y funciones).• Estructuras de control (bifurcaciones, bucles y demás estructuras).
• Control de excepciones.
• Almacenamiento en la B.D. (para su posterior ejecución).
• Soporte para la programación orientada a objetos (POD).
La unidad de trabajo es el bloque, que es un conjunto de declaraciones, instrucciones y mecanismos de
gestión de errores y excepciones. Es la estructura básica característica detodos los programas PL/SQL, tiene
tres zonas claramente definidas:
• Zona de declaraciones
declaración de variables, constantes, precedido por la clausula
DECLARE, es opcional.
•
Conjunto de instrucciones
precedido por la clausula BEGIN.
•
Zona de excepciones
precedido por la clausula EXCEPTION, es opcional también.
•
Ejemplo:
[ DECLARE
< declaraciones > ]
BEGIN
[ EXCEPTION
< gestión de excepciones > ]
END ;
La utilización de bloques supone una notable mejora de rendimiento, ya que se envían los bloques
completos al servidor para que sean procesados, en lugar de cada sentencia SQL. También se pueden anidar:
DECLARE
….
BEGIN
…...
DECLARE comienzo bloque interior (un DECLARE dentro de otro)
…..
BEGIN
…..
EXCEPTION
…..
END ;
….EXCEPTION
…...
END
Definición de datos compatibles con SQL
PL/SQL dispone de tipos de datos compatibles con los tipos utilizados para las columnas de las tablas:
NUMBER, VARCHAR2, DATE.
Las declaraciones de los datos deben hacerse en la sección de declaraciones:
Contador
NUMBER2 ;
Nombre
CHAR (20) ;
Nuevo
VARCHAR2 (15) ;
BEGIN
…..
PL/SQL permite declarar una variable del mismo tipoque otra variable o que una columna de una tabla
mediante el atributo %TYPE.
También se puede declarar una variable para guardar una fila completa de una tabla mediante el atributo
%ROWTYPE.
Estructuras de control alternativas.
➢ Alternativa simple (IF)
Si la condición se cumple, se ejecutan las instrucciones que siguen a la clausula THEN
IF
THEN
instrucciones;
END IF;
➢Alternativa doble (IF ELSE)
Si la condición se cumple, se ejecutan las instrucciones que siguen a la clausula THEN, en caso
contrario, se ejecutaran las instrucciones que siguen a la clausula ELSE
IF
THEN
instrucciones;
ELSE
instrucciones;
END IF;
➢ Alternativa múltiple (ELSIF)
Evalúa comenzando desde el principio cada condición, hasta encontrar alguna condición que se
cumpla, en cuyo casose ejecutara las instrucciones que siguen al THEN correspondiente, la
clausula ELSE es opcional y se ejecuta si no se ha cumplido ninguna de las anteriores.
IF
THEN
instrucciones;
ELSIF THEN
instrucciones;
ELSIF THEN
instrucciones;
…..
ELSE
instrucciones;
END IF;
➢ Alternativa múltiple (CASE de comprobación)
Calcula el resultado de la expresión que sigue a la clausula CASE,a continuación comprueba si el
valor obtenido coincide con alguno d ellos valores especificados detrás de las clausulas WHEN,
en cuyo caso ejecutara la instrucción/es correspondientes, ELSE es opcional.
CASE []
WHEN THEN
;
WHEN THEN
;
WHEN THEN
;
[ELSE
;]
END CASE;
➢ Alternativa múltiple (CASE de búsqueda)
Evalúa, comenzando desde el principio, cada condición, hasta encontraralguna condición que se
cumpla, en cuyo caso ejecutara las instrucciones que siguen al THEN, el ELSE es opcional.
CASE
WHEN THEN
;
WHEN THEN
;
WHEN THEN
;
[ELSE
;]
END CASE;
Estructuras de control repetitivas.
➢ Mientras (WHILE)
Se evalúa la condición y si se cumple, se ejecutaran las instrucciones del bucle. El bucle se seguirá
ejecutando mientras se cumpla la condición, es una...
Regístrate para leer el documento completo.