Lenguaje Estructurado de Consultas

Anuncio
Lenguaje Estructurado de Consultas
http://es.wikipedia.org/wiki/SQL
TRIGGERS
:new
TRIGGER
:old
After
Before
http://es.wikipedia.org/wiki/SQL
TRIGGERS

En los triggers se puede hacer
referencia al registro antes y al registro
después de la ejecución de una
sentencia SQL.
http://es.wikipedia.org/wiki/SQL
Registro Anterior
El registro anterior a la ejecución de una
operación sobre una tabla que esta
siendo vigilada por un trigger se puede
referenciar con la palabra reservada
:OLD seguido del nombre del campo.
 Ej: :OLD.nombre, :OLD.apellido

http://es.wikipedia.org/wiki/SQL
Registro Nuevo
El registro nuevo en la ejecución de una
operación sobre una tabla que esta
siendo vigilada por un trigger se puede
referenciar con la palabra reservada
:NEW seguido del nombre del campo.
 Ej: :NEW.nombre, :NEW.apellido

http://es.wikipedia.org/wiki/SQL
Ejercicio

Dada la siguiente tabla y si se tiene un
trigger que desea capturar el valor antes
y otro el valor después, que sintaxis se
debe utilizar para cada caso.
http://es.wikipedia.org/wiki/SQL
DECLARACIÓN DE VARIABLES
Dentro de un trigger o en la ejecución
de un script SQL se puede realizar la
creación de variables. Esta definición de
variables tiene la siguiente estructura:
 DECLARE: Palabra reservada
 Nombre: Nombre de la variable
 Tipo: Corresponde al tipo de dato de la
variable

http://es.wikipedia.org/wiki/SQL
Ejemplo Variable



DECLARE total NUMBER(10)
DECLARE descripcion VARCHAR2(200)
Para realizar la asignación de valores a las
variables en el lenguaje PL/SQL se utiliza
el siguiente operador. (:=)
 Ej: total := 12000
 Ej: descripcion := „Texto de la descripcion‟
http://es.wikipedia.org/wiki/SQL
Ejercicio

Realice la creación de tres variables
numéricas y a cada una asígnele dos
veces el valor de la otra.
http://es.wikipedia.org/wiki/SQL
SELECT dentro de Triggers

Dentro de los triggers para asignar
variables de las consultas es necesario
utilizar la palabra reservada “INTO”
 select "AUDITORIA_SEQ".nextval into
:new.ID from dual;
 select :old.nombre into anterior from dual;
http://es.wikipedia.org/wiki/SQL
Descargar