Pl/sql disparadores

Páginas: 8 (1931 palabras) Publicado: 22 de noviembre de 2010
PL/SQL
• En caso de error • Bloques • Expresiones • Registros • Tablas • Conversiones de datos • Variables y constantes • Cursores • Excepciones • Estructuras de control

EN CASO DE ERROR
¿Qué hacer en caso de error? Q éh d ?
“La base de datos no funciona bien, no hace lo que quiero” Proceso de resolución de errores:
1.

Revisar la tabla user_errors
1. 2.

Show errors Select * fromuser_errors;

2. 3.

¿Sintaxis correcta? Si i ? ¿Problema con una consulta?
1. 2.

La consulta no devuelve resultados Fuera del disparador la consulta funciona pero dentro no

Comenta y vencerás.
Fundamentos de las Bases de Datos

-2

1

INTRODUCCIÓN (I)
PL/SQL: Lenguaje de programación procedimental PL/SQL L j d ió di l estructurado en bloques que amplía el lenguaje estándar SQL.Permite:
Manipular datos de una BD Oracle. Usar técnicas procedurales (bucles, ...) Controlar las filas de una consulta una a una Controlar errores (excepciones) definidas por el usuario o propios de Oracle (predefinidos) Disparadores

No diferencia las minúsculas de las mayúsculas
CLIENTE == cliente

Fundamentos de las Bases de Datos

-3

BLOQUES
Es la unidad básica de cualquierprograma PL/SQL. Estructura básica de un bloque (sólo es obligatorio el 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;

Fundamentos de las Bases de Datos

-4

2

BLOQUES (II)
Las únicasinstrucciones permitidas dentro de un p bloque son: INSERT, UPDATE, DELETE Y SELECT + manipulación de datos + control de transacciones. La anidación de bloques se realiza entre las etiquetas BEGIN Y EXCEPTION y sólo se tiene una definición de variables. Instrucciones no permitidas son: DROP I t i itid DROP, CREATE, ALTER, … Los comentarios se ponen: /* Comentarios */ No distingue mayúsculas y minúsculasFundamentos de las Bases de Datos

-5

BLOQUES (III)
Tipos:
Anónimo: construido de manera dinámica y se ejecuta una vez.
Estructura básica se compilan cada vez que son ejecutados y no se guardan en la BD.

Nominado: bloque anónimo con etiqueta. Lo primero es la etiqueta. PE ->
Subprogramas: procedimientos, paquetes y funciones almacenadas en la BD ya compiladas. Se ejecutan múltiplesveces mediante llamadas explícitas. Remplazar la palabra clave DECLARE con las palabras CREATE OR REPLACE PROCEDURE nombre_proc AS

Disparadores: bloques nominados almacenados en la BD (código fuente). Se ejecutan múltiples veces de forma implícita mediante eventos sobre una tabla (INSERT, UPDATE o DELETE). Se compila cada vez que se ejecuta. (se explicarán más adelante)
Fundamentos de las Bases deDatos

-6

3

EXPRESIONES
Tipos de expresiones: Ti d i
Aritméticas : + - * / Comparaciones : = != > > >= 50; END LOOP; END; /

Fundamentos de las Bases de Datos

- 21

BUCLES
CONDICIONAL. La condición se evalúa antes de entrar
en el bucle
Sintaxis: [nombre_bucle] WHILE pl/sql_condición LOOP
sentencias; END LOOP;

Ejemplo
DECLARE V_contador BINARY_INTEGER:=1; BEGIN ; WHILEv_contador más > lentos

Fundamentos de las Bases de Datos

- 29

DISPARADORES: Aplicaciones
Restricciones de Integridad complejas. complejas IMPORTANTE: no se deben usar para garantizar el cumplimiento de las RI a nivel de esquema !!! (el esquema ha de contener toda la semántica que permita sin utilizar disparadores) Auditoría: registro de los cambios realizados y quién los realizó ié l li óAviso automático a otros programas de llevar a cabo una determinada acción Actualización en cascada
Fundamentos de las Bases de Datos

- 30

15

DISPARADORES: Utilización
No disparadores recursivos: agotan memoria memoria. Sólo se almacena el código fuente del disparador. Se compila cada vez que se va a ejecutar (lectura del diccionario de datos). Por lo tanto si el disparador tiene...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • pl / sql
  • Pl/Sql
  • PL sql
  • Pl/Sql
  • pl/sql
  • Disparadores SQL (Trigger)
  • Cursores en PL/SQL
  • Ejercicios Pl Sql

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS