Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Programacion pl-sql oracle, Diapositivas de Administración de Sistemas y Redes

Contenido del curso base de datos

Tipo: Diapositivas

2018/2019

Subido el 20/05/2019

miguelosorio
miguelosorio 🇬🇹

2 documentos

1 / 25

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
PL/SQL
DISEÑO DE BASE
DE DATOS
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Vista previa parcial del texto

¡Descarga Programacion pl-sql oracle y más Diapositivas en PDF de Administración de Sistemas y Redes solo en Docsity!

PL/SQL

DISEÑO DE BASE

DE DATOS

Preliminares:

PL/SQL:

Lenguaje de programación procedimental

estructurado en bloques que amplía el

lenguaje estándar SQL.

Bloques

 Es la unidad básica de cualquier programa

PL/SQL.

 Estructura básica de un bloque: tiene tres

partes, aunque

 sólo es obligatoria la parte del conjunto de

sentencias ejecutables.

DECLARE
/* Declaraciones de uso local:
variables, cursores, y excepciones de Usuario */ BEGIN
/* Proceso: conjunto de sentencias ejecutables */
EXCEPTION
/* Excepciones: zona de control de errores */
END;

Expresiones y Tipos de Variable

Tipos de expresiones:
 Aritméticas : + - * /
 Comparaciones : = != < > >= <=
 Concatenación de caracteres ||
Tipos de variables:
Escalares. Definidos por el lenguaje
VARCHAR2, DATE, LOB, LONG, NUMBER, etc.
Compuestos: Definidos por el usuario
Registros
Tablas y matrices. Pueden almacenar registros y
escalares

Declaración de Variables y Constantes

DECLARE

DNI NUMBER (8,0);

Nombre VARCHAR (30);

Factor CONSTANT NUMBER(3,2):=0.10;

DNI2 DNI%TYPE;

Rcliente cliente%ROWTYPE;

/* (tendría los campos: Rcliente.DNI,

Rcliente.Nombre …) */

precio NUMBER:= 300; (inicializado a un valor)

IVA NUMBER CONSTANT :=16;

Estructuras De Control

Realizan el control del flujo del bloque.
Son de varios tipos:
IF (condicionales):
Ejecuta una o varias sentencias dependiendo de una
condición:
IF <condición>
THEN ;
[ELSIF <condición>
THEN <sentencias_ejecutable>]
[ELSE <sentencias_ejecutable>];
END IF;

Estructuras De Control

BUCLE:

Bloque cuya ejecución se repite

Tipos:

Bucles simples (LOOP).

Bucles condicionales (WHILE).

Bucles numéricos (FOR).

Bucles sobre cursores.

Bucles sobre sentencias SELECT.

Para romper el bucle se debe usar la

instrucción EXIT

(aunque también se puede salir con GOTO o

con RAISE )

Bucles: bucle simple

[etiqueta_nombre_bucle] LOOP sentencias; ... END LOOP; SQL> create or replace procedure prueba is 2 v_contador number :=1; 3 begin 4 loop 5 insert into estudiante values (v_contador); 6 v_contador := v_contador + 1; 7 exit when v_contador > 50; 8 end loop; 9 end; SQL> run SQL> execute prueba SQL> select * from estudiante;

Bucles: numéricos (acotados) Se ejecutan una sola vez por cada elemento de rango definido [nombre_bucle] FOR IN [REVERSE] <exp_n1>..<exp_n2> LOOP sentencias; ... Ejemplo: BEGIN FOR v_contador IN 1..50 LOOP INSERT INTO estudiante VALUES (v_contador); END LOOP; END;

Triggers

Trigger: Uso y definición

Se utilizan para

 mantener la integridad referencial,

 asegurar reglas de negocio complejas y

auditar cambios

en los datos.

Para definir un trigger se debe:

 Especificar las condiciones bajo las que el

trigger será ejecutado.

 Especificar las acciones que se realizarán

cuando el trigger se ejecute.

triggers Las acciones del trigger se definen mediante bloques de PL/SQL nominados con las secciones: declarativa ejecutable manejo de excepciones  (^) Los triggers se almacenan en la BD (user_triggers) y están asociados a una tabla.  (^) Pueden afectar a n filas.  (^) Se ejecutan de manera implícita ante eventos (operación de inserción, modificación o borrado)  (^) Se compilan cada vez que se activan

Triggers: Sintaxis

Eliminación

DROP TRIGGER nombre_disparador;

Activación/Desactivación

ALTER TRIGGER nombre_disparador

{DISABLE | ENABLE};

ALTER TABLE nombre_tabla

{ENABLE | DISABLE} ALL TRIGGERS;

Ver errores de compilación

SHOW ERRORS TRIGGER nombre_disparador;

Triggers: Componentes (1)

Nombre disparador:

Siguen las mismas normas de nomenclatura que

otros identificadores en la BD

Replace:

Se utiliza para sobreescribir un disparador existente

Before/After/Instead of:

Instante de ejecución del disparador con respecto al

evento que

lo desencadena

Evento:

Tipo de orden DML sobre una tabla que provoca la

activación

del disparador

INSERT | DELETE | UPDATE [OF ]