UNIVERSAD POLITECNICA AMAZÒNICA
CURSO : BASEDATOSII
CARRERA :
Ingeniería de Sistemas y Telemática.
INTEGRANTES:
Lucy Mego Saavedra
Magaly Portocarrero Labajos
Karin Juneth Soto Horna
PROFESOR :
Marco Aurelio Porro Chulli
Trigger – Activadores
Trigger (Disparadores)
Un trigger (o disparador) en una Base de datos , es un procedimiento que se ejecuta cuando se
cumple una condición establecida al realizar una operación de inserción (INSERT), actualización
(UPDATE) o borrado (DELETE).
Usos
Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que
el usuario ejecute la sentencia de SQL.
Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas,
modifica valores de una vista, etc.
TIPOS
Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a
realizar:
Row Triggers (o Disparadores de fila): son aquellas que se ejecutaran n-veces si se llama
n-veces desde la tabla asociada al trigger
Statement Triggers (o Disparadores de secuencia): son áquellos que sin importar la
cantidad de veces que se cumpla con la condición, su ejecución es única.
Pueden ser de sesión y almacenados; pero no son de fiar.
Los Triggers o Disparadores son objetos que se asocian con tablas y se almacenan en la base
de datos. Su nombre se deriva por el comportamiento que presentan en su funcionamiento, ya
que se ejecutan cuando sucede algún evento sobre las tablas a las que se encuentra asociado.
Los eventos que hacen que se ejecute un trigger son las operaciones de inserción (INSERT),
borrado (DELETE) o actualización (UPDATE), ya que modifican los datos de una tabla.
La utilidad principal de un trigger es mejorar la administración de la base de datos, ya que no
requieren que un usuario los ejecute. Por lo tanto, son empleados para implementar las
REGLAS DE NEGOCIO (tipo especial de integridad) de una base de datos.
Sintaxis
Sintaxis de CREATE TRIGGER
CREATE TRIGGER nombre_disp momento_disp evento_disp
ON nombre_tabla FOR EACH ROW sentencia_disp
Un disparador es un objeto con nombre en una base de datos que se asocia con una tabla, y se activa
cuando ocurre un evento en particular para esa tabla.
El disparador queda asociado a la tabla nombre_tabla. Esta debe ser una tabla permanente, no puede
ser una tabla TEMPORARY ni una vista.
momento_disp es el momento en que el disparador entra en acción. Puede ser BEFORE (antes) o
AFTER (despues), para indicar que el disparador se ejecute antes o después que la sentencia que lo
activa.
evento_disp indica la clase de sentencia que activa al disparador. Puede ser INSERT, UPDATE, o
DELETE. Por ejemplo, un disparador BEFORE para sentencias INSERT podría utilizarse para validar los
valores a insertar.
No puede haber dos disparadores en una misma tabla que correspondan al mismo momento y sentencia.
Por ejemplo, no se pueden tener dos disparadores BEFORE UPDATE. Pero sí es posible tener los
disparadores BEFORE UPDATE y BEFORE INSERT o BEFORE UPDATE y AFTER UPDATE.
Disparadores en MySQL
Los disparadores son soportados en MySQL a partir de la versión 5.0.2.
Algunos de los soportes existentes son los disparadores para las
sentencias INSERT, UPDATE y DELETE
El estándar SQL:2003 requiere que los disparadores den a los programadores acceso a las variables
de un registro utilizando una sintaxis como REFERENCING NEW AS n. Por ejemplo, si un disparador
está monitoreando los cambios en la columna salario, podría escribirse un disparador como:
CREATE TRIGGER ver_salario
BEFORE UPDATE ON empleados
REFERENCING NEW ROW AS n, OLD ROW AS o
FOR EACH ROW
IF n.salario <> o.salario THEN
END IF;
Disparadores en PostgreSQL
Desde 1997 PostgreSQL soporta el uso de disparadores, estos pueden anexarse a las tablas
pero no a las vistas; aunque a las vistas se les pueden crear reglas.
Al igual que en MySQL los disparadores de PostgreSQL se pueden activar luego de
sentencias INSERT, UPDATE o DELETE
Cuando hay varios disparadores, se activan en orden alfabético.
Además de permitir el uso de funciones en el lenguaje nativo de PostgreSQL, PL/PgSQL, los
disparadores también permiten invocar funciones escritas en otros lenguajes como PL/Perl.
En Postgres un disparador ejecuta una función la cual contiene el código de lo que se
requiere, esto difiere del método expuesto anteriormente para MySQL que escribe el código
a ejecutarse dentro del mismo disparador.
Ejemplos
create trigger DIS_t_Libro_insertar on t_Libro
for insert
as
declare @descrip varchar(max)
select @descrip=Descripcion from t_Libro
join inserted
on inserted.codigolibro=t_Libro.codigo
where t_Libro.codigo=inserted.codigolibro
if (@descrip >= (select IdAutor from inserted ))
update t_Libro set Rodaje=Rodaje-inserted.codigolibro
from t_Libro
join inserted
on inserted.codigolibro=t_Libro.codigo
where codigo=t_Libro.codigolibro
else
begin
raiserror ('',10,1)
rollback transaction
end
Trigger - Activadores

Más contenido relacionado

PPT
PPTX
Trigger-activadores en sql server
PPTX
Disparadores
PPTX
Trigger Data Base
PDF
Triggers en BD mysql
PPTX
Manejo de triggers en sql server
PPTX
Disparadores Trigger En Sql Y My Sql
Trigger-activadores en sql server
Disparadores
Trigger Data Base
Triggers en BD mysql
Manejo de triggers en sql server
Disparadores Trigger En Sql Y My Sql

La actualidad más candente (20)

PPTX
Triggers o disparadores
DOCX
Sesión12 - Trigger (Oracle)
DOCX
Postgres trigger
PDF
Trigger o Disparadores
PPTX
Cliente servidor consultas sql
PDF
Procedimientos almacenados en MySQL
PPTX
Lenguaje transact sql
PPTX
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
PPTX
Sentencias SQL Cristian Benalcázar
PDF
Curso de SQL Server: implementacion (T-SQL)
PDF
Apunte plsql
PPTX
Subconsultas
PPT
Bd L8 Eq9 Pre Rosa Triggers
DOCX
Sesion09 - Manejo de Excepciones (Oracle)
DOCX
TRIGGERS Cliente - servidor
PPTX
Procedimientos Almacenados
PDF
Triggers o disparadores
Sesión12 - Trigger (Oracle)
Postgres trigger
Trigger o Disparadores
Cliente servidor consultas sql
Procedimientos almacenados en MySQL
Lenguaje transact sql
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
Sentencias SQL Cristian Benalcázar
Curso de SQL Server: implementacion (T-SQL)
Apunte plsql
Subconsultas
Bd L8 Eq9 Pre Rosa Triggers
Sesion09 - Manejo de Excepciones (Oracle)
TRIGGERS Cliente - servidor
Procedimientos Almacenados
Publicidad

Similar a Trigger - Activadores (20)

PDF
Transacciones y sql procedural EN MySQL
PPTX
TRIGGERS O DISPARADORES
DOCX
Triggers disparador
PDF
PDF
BDDII T1-2_TalentoDeBasededatosparaminovia
PDF
database trig
PPTX
CREACION DE TRIGGERS.pptx
PPTX
Disparadores
PPTX
Disparadores
PPTX
Triggers
PPTX
PDF
Dbd triggers
PPTX
Disparadores Trigger En Sql Y My Sql
PPTX
Disparadores.pptx
PPTX
Formacion critica
PPTX
Trigger - INSERT- Base de Datos 2 .pptx
Transacciones y sql procedural EN MySQL
TRIGGERS O DISPARADORES
Triggers disparador
BDDII T1-2_TalentoDeBasededatosparaminovia
database trig
CREACION DE TRIGGERS.pptx
Disparadores
Disparadores
Triggers
Dbd triggers
Disparadores Trigger En Sql Y My Sql
Disparadores.pptx
Formacion critica
Trigger - INSERT- Base de Datos 2 .pptx
Publicidad

Más de Magaly Portocarrero Labajos (16)

PPTX
Mineria de datos
PPTX
PPTX
Administracion de la seguridad
PPTX
Procedimientos Almacenados
PPTX
PPTX
Lenguaje Transact SQL
PPTX
PreparedStatement
PPTX
J table con base de datos
PPTX
Dispositivas de la clase statement
PPTX
Java con base de datos
PPTX
Diapositiva java
PPTX
Diapositivas del jdbc magaly y duyen
Mineria de datos
Administracion de la seguridad
Procedimientos Almacenados
Lenguaje Transact SQL
PreparedStatement
J table con base de datos
Dispositivas de la clase statement
Java con base de datos
Diapositiva java
Diapositivas del jdbc magaly y duyen

Último (20)

PDF
Diseño y Utiliación del HVAC Aire Acondicionado
PDF
manual-sap-gratuito _ para induccion de inicio a SAP
PDF
Presentación Ejecutiva Minimalista Azul.pdf
PPTX
PPT SESIÓN 6 Los Injertos.- Micropropagación e Injertos Clonales.pptx
PPTX
Investigacioncientificaytecnologica.pptx
PDF
Suelo Solonchak edafología tipo de sueldo en San Luis Potosí
PDF
PPT ProChile 2019 beneficios de la construccion con madera
PDF
SESION 9 seguridad IZAJE DE CARGAS.pdf ingenieria
PDF
IMPORTANCIA DE CARNE DE COBAYOS- CUYES CRI
PDF
UD3 -Producción, distribución del aire MA.pdf
PDF
EVALUACIÓN 1_REFERENCIAPIR_FASE 1_2024.pdf
PPTX
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
PPTX
Expo petroelo 2do ciclo.psssssssssssssptx
PDF
MODULO 1 Base Legal Nacional y sus aplicaciones.pdf
PPTX
Identificacion de Peligros mediante GTC 45
PPTX
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
PDF
silabos de colegio privado para clases tema2
PPTX
CNE-Tx-ZyD_Comite_2020-12-02-Consolidado-Version-Final.pptx
PPTX
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
PPTX
Instalaciones Electricas.pptx cables electricos
Diseño y Utiliación del HVAC Aire Acondicionado
manual-sap-gratuito _ para induccion de inicio a SAP
Presentación Ejecutiva Minimalista Azul.pdf
PPT SESIÓN 6 Los Injertos.- Micropropagación e Injertos Clonales.pptx
Investigacioncientificaytecnologica.pptx
Suelo Solonchak edafología tipo de sueldo en San Luis Potosí
PPT ProChile 2019 beneficios de la construccion con madera
SESION 9 seguridad IZAJE DE CARGAS.pdf ingenieria
IMPORTANCIA DE CARNE DE COBAYOS- CUYES CRI
UD3 -Producción, distribución del aire MA.pdf
EVALUACIÓN 1_REFERENCIAPIR_FASE 1_2024.pdf
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
Expo petroelo 2do ciclo.psssssssssssssptx
MODULO 1 Base Legal Nacional y sus aplicaciones.pdf
Identificacion de Peligros mediante GTC 45
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
silabos de colegio privado para clases tema2
CNE-Tx-ZyD_Comite_2020-12-02-Consolidado-Version-Final.pptx
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
Instalaciones Electricas.pptx cables electricos

Trigger - Activadores

  • 1. UNIVERSAD POLITECNICA AMAZÒNICA CURSO : BASEDATOSII CARRERA : Ingeniería de Sistemas y Telemática. INTEGRANTES: Lucy Mego Saavedra Magaly Portocarrero Labajos Karin Juneth Soto Horna PROFESOR : Marco Aurelio Porro Chulli
  • 2. Trigger – Activadores Trigger (Disparadores) Un trigger (o disparador) en una Base de datos , es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Usos Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute la sentencia de SQL. Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc.
  • 3. TIPOS Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar: Row Triggers (o Disparadores de fila): son aquellas que se ejecutaran n-veces si se llama n-veces desde la tabla asociada al trigger Statement Triggers (o Disparadores de secuencia): son áquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única. Pueden ser de sesión y almacenados; pero no son de fiar.
  • 4. Los Triggers o Disparadores son objetos que se asocian con tablas y se almacenan en la base de datos. Su nombre se deriva por el comportamiento que presentan en su funcionamiento, ya que se ejecutan cuando sucede algún evento sobre las tablas a las que se encuentra asociado. Los eventos que hacen que se ejecute un trigger son las operaciones de inserción (INSERT), borrado (DELETE) o actualización (UPDATE), ya que modifican los datos de una tabla. La utilidad principal de un trigger es mejorar la administración de la base de datos, ya que no requieren que un usuario los ejecute. Por lo tanto, son empleados para implementar las REGLAS DE NEGOCIO (tipo especial de integridad) de una base de datos.
  • 5. Sintaxis Sintaxis de CREATE TRIGGER CREATE TRIGGER nombre_disp momento_disp evento_disp ON nombre_tabla FOR EACH ROW sentencia_disp Un disparador es un objeto con nombre en una base de datos que se asocia con una tabla, y se activa cuando ocurre un evento en particular para esa tabla. El disparador queda asociado a la tabla nombre_tabla. Esta debe ser una tabla permanente, no puede ser una tabla TEMPORARY ni una vista. momento_disp es el momento en que el disparador entra en acción. Puede ser BEFORE (antes) o AFTER (despues), para indicar que el disparador se ejecute antes o después que la sentencia que lo activa. evento_disp indica la clase de sentencia que activa al disparador. Puede ser INSERT, UPDATE, o DELETE. Por ejemplo, un disparador BEFORE para sentencias INSERT podría utilizarse para validar los valores a insertar. No puede haber dos disparadores en una misma tabla que correspondan al mismo momento y sentencia. Por ejemplo, no se pueden tener dos disparadores BEFORE UPDATE. Pero sí es posible tener los disparadores BEFORE UPDATE y BEFORE INSERT o BEFORE UPDATE y AFTER UPDATE.
  • 6. Disparadores en MySQL Los disparadores son soportados en MySQL a partir de la versión 5.0.2. Algunos de los soportes existentes son los disparadores para las sentencias INSERT, UPDATE y DELETE El estándar SQL:2003 requiere que los disparadores den a los programadores acceso a las variables de un registro utilizando una sintaxis como REFERENCING NEW AS n. Por ejemplo, si un disparador está monitoreando los cambios en la columna salario, podría escribirse un disparador como: CREATE TRIGGER ver_salario BEFORE UPDATE ON empleados REFERENCING NEW ROW AS n, OLD ROW AS o FOR EACH ROW IF n.salario <> o.salario THEN END IF;
  • 7. Disparadores en PostgreSQL Desde 1997 PostgreSQL soporta el uso de disparadores, estos pueden anexarse a las tablas pero no a las vistas; aunque a las vistas se les pueden crear reglas. Al igual que en MySQL los disparadores de PostgreSQL se pueden activar luego de sentencias INSERT, UPDATE o DELETE Cuando hay varios disparadores, se activan en orden alfabético. Además de permitir el uso de funciones en el lenguaje nativo de PostgreSQL, PL/PgSQL, los disparadores también permiten invocar funciones escritas en otros lenguajes como PL/Perl. En Postgres un disparador ejecuta una función la cual contiene el código de lo que se requiere, esto difiere del método expuesto anteriormente para MySQL que escribe el código a ejecutarse dentro del mismo disparador.
  • 8. Ejemplos create trigger DIS_t_Libro_insertar on t_Libro for insert as declare @descrip varchar(max) select @descrip=Descripcion from t_Libro join inserted on inserted.codigolibro=t_Libro.codigo where t_Libro.codigo=inserted.codigolibro if (@descrip >= (select IdAutor from inserted )) update t_Libro set Rodaje=Rodaje-inserted.codigolibro from t_Libro join inserted on inserted.codigolibro=t_Libro.codigo where codigo=t_Libro.codigolibro else begin raiserror ('',10,1) rollback transaction end