SlideShare a Scribd company logo
1 of 13
Download to read offline
Guía Sencilla

Jair Ospino Ardila -- jairospino@ingenieros.com
Son procedimientos que se ejecutan
cumple una condición establecida.

automáticamente cuando se

Los triggers pueden ser de:
 Inserción (INSERT)
 Actualización (UPDATE)

 Eliminación (DELETE).
NOTA: Para poder crear el Disparador hay que tener presente:
 Deben existir las Tablas Asociadas a el Disparador
 El Disparador no debe tener un nombre asociado a una palabra
reservada del sistema.
 Se debe previamente modificar el comodín de ejecución de
comandos que esta por defecto (;). para ello utilizamos
DELIMITER @
OJO --> no es obligatorio - @ - puede ser
cualquier comodín
 No se permite dentro de la Sentencia del trigger ejecutar un
comando Select.
 No se admiten más de un trigger que relacionen a una misma
tabla con la misma acción. Hasta ahora versión del Ejemplo
5.5.24 año 2013

DELIMITER @
CREATE trigger nombre_trigger [before, after] [insert, update, delete] ON tabla
For Each Row
Begin
Sentencia a Ejecutar [insert, update, delete]
End;
@
DELIMITER ;
CREATE database IF NOT EXISTS bdTrigger;
USE bdTrigger;

CREATE TABLE IF NOT EXISTS tb_cliente
(
id_orden INT NOT NULL auto_increment,
documento VARCHAR(12),
nombre VARCHAR(25) NOT NULL,
apellido VARCHAR(35)NOT NULL,
telefono VARCHAR(15),
email VARCHAR(50),
PRIMARY KEY(id_orden,documento)
)engine=InnoDB;

/* En esta tabla guardaremos el respaldo de los datos luego de ejecutar una
instrucción en la tabla tb_cliente mediante el Disparador*/
CREATE TABLE IF NOT EXISTS tb_seguridad_cliente
(
documento_c VARCHAR(12),
nombre_c VARCHAR(25),
apellido_c VARCHAR(35),
telefono_c VARCHAR(15),
email_c VARCHAR(50),
fecha_accion_c DATE,
accion_c VARCHAR(11) /* Agregado, Modificado, Cancelado-0-(Eliminado)*/
)engine=InnoDB;
NOTA:


El comando new nos permite referenciar al valor que viene por primera
vez, seguido por el nombre del campo que deseamos tomar de la tabla a
la cual definimos en el disparador al momento de crearlo (tb_cliente)



Si lo que deseamos es INSERTAR (insert) solamente podemos utilizamos
el comando new.



Si lo que deseamos es ACTUALIZAR (update) podremos utilizar los dos
comandos permitidos new y old.



Si usamos -- old -- hacemos referencia al dato que contenía el registro
antes de modificarlo.



si lo que deseamos es ELIMINAR (delete) solamente podemos utilizar el
comando old.

/* Trigger que se acciona luego de INSERTAR algún registro en la Tabla
tb_cliente*/
DELIMITER @
CREATE TRIGGER tr_insert_cliente BEFORE INSERT ON tb_cliente
FOR EACH ROW
BEGIN
INSERT INTO tb_seguridad_cliente VALUES ( new.documento, new.nombre,
new.apellido, new.telefono, new.email,
curdate(),'Agregado');
END;
@
DELIMITER ;
/* Trigger que se acciona luego de ACTUALIZAR algún registro en la
Tabla tb_cliente*/
DELIMITER @
CREATE TRIGGER tr_update_cliente BEFORE UPDATE ON tb_cliente
FOR EACH ROW
BEGIN
INSERT INTO tb_seguridad_cliente VALUES (new.documento, new.nombre,
new.apellido, new.telefono, new.email, curdate(), 'Modificado');
END;
@
DELIMITER ;

/* Trigger que se acciona luego de ELIMINAR algún registro en la Tabla
tb_cliente*/

DELIMITER @
CREATE TRIGGER tr_delete_cliente BEFORE DELETE ON tb_cliente
FOR EACH ROW
BEGIN
INSERT INTO tb_seguridad_cliente VALUES(old.documento, old.nombre,
old.apellido, old.telefono, old.email, curdate(),'Eliminado');
END;
@
DELIMITER ;
/* Insertamos clientes para verificar que el Disparador
-- tr_insert_cliente -- Funcione correctamente */

INSERT INTO tb_cliente(documento,nombre,apellido,telefono,email)
VALUES ('1065 -1','jair cliente 1','apellido cliente 1','tel c1','email@cliente1'),
('1065 -2','marcela cliente 2','apellido cliente 2','tel c2','email@cliente2'),
('1065 -3','damaris cliente 3','apellido cliente 3','tel c3','email@cliente3'),
('1065 -4','emeterio cliente 4','apellido cliente 4','tel c4','email@cliente4'),
('1065 -5','diana cliente 5','apellido cliente 5','tel c5','email@cliente5'),
('1065 -6','ruber cliente 6','apellido cliente 6','tel c6','email@cliente6'),
('1065 -7','yuleidi cliente 7','apellido cliente 7','tel c7','email@cliente7'),
('1065 -8','vianeth cliente 8','apellido cliente 8','tel c8','email@cliente8'),
('1065 -9','lucia cliente 9','apellido cliente 9','tel c9','email@cliente9'),
('1065 -10','ismael cliente 10','apellido cliente 10','tel c10','email@cliente10'),
('1065 -11','justa cliente 11','apellido cliente 11','tel c11','email@cliente11'),
('1065 -12','sergio cliente 12','apellido cliente 12','tel c12','email@cliente12' );
/* Modificamos clientes para verificar que el Dispardor
-- tr_update_cliente -- Funcione correctamente */
UPDATE tb_cliente SET documento='i065 -mod', nombre='nombre j22 mod',
apellido='apellido mod', telefono='tel mod' WHERE id_orden = 7;

/* Eliminamos clientes para verificar que el Dispardor
-- tr_delete_cliente -- Funcione correctamente */
DELETE FROM tb_cliente WHERE id_orden = 9;
/* Ahora si consultamos la tabla de tb_seguridad_cliente podremos
observar que automáticamente se han guardado los datos, sin
necesidad de hacerlo mediante código otra vez */
SELECT DISTINCT(documento_c), nombre_c, apellido_c, accion_c FROM
tb_seguridad_cliente;

/* Para MOSTRAR los Disparadores - triggers empleamos el
comando: Show triggers; */
Show triggers;
/* Para BORRAR los Disparadores - triggers empleamos el comando:
Drop trigger nombre_trigger; */
DROP TRIGGER tr_cliente;

More Related Content

What's hot

Disparadores - base de datos
Disparadores - base de datosDisparadores - base de datos
Disparadores - base de datos
Adriana Becerra
 

What's hot (20)

Basic sql Commands
Basic sql CommandsBasic sql Commands
Basic sql Commands
 
Sql join
Sql  joinSql  join
Sql join
 
Seguridad sql server
Seguridad sql serverSeguridad sql server
Seguridad sql server
 
10 Creating Triggers
10 Creating Triggers10 Creating Triggers
10 Creating Triggers
 
Introduction to triggers
Introduction to triggersIntroduction to triggers
Introduction to triggers
 
Triggers
TriggersTriggers
Triggers
 
trigger dbms
trigger dbmstrigger dbms
trigger dbms
 
Introduction to triggers
Introduction to triggersIntroduction to triggers
Introduction to triggers
 
SQL JOINS
SQL JOINSSQL JOINS
SQL JOINS
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
 
Tipos de JOIN en SQL.pptx
Tipos de JOIN en SQL.pptxTipos de JOIN en SQL.pptx
Tipos de JOIN en SQL.pptx
 
Constraints (restricciones).pptx
Constraints (restricciones).pptxConstraints (restricciones).pptx
Constraints (restricciones).pptx
 
Introduction to structured query language (sql)
Introduction to structured query language (sql)Introduction to structured query language (sql)
Introduction to structured query language (sql)
 
Basic SQL and History
 Basic SQL and History Basic SQL and History
Basic SQL and History
 
Disparadores - base de datos
Disparadores - base de datosDisparadores - base de datos
Disparadores - base de datos
 
SQL for interview
SQL for interviewSQL for interview
SQL for interview
 
ORACLE PL SQL FOR BEGINNERS
ORACLE PL SQL FOR BEGINNERSORACLE PL SQL FOR BEGINNERS
ORACLE PL SQL FOR BEGINNERS
 
SQL : introduction
SQL : introductionSQL : introduction
SQL : introduction
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
 
Sql commands
Sql commandsSql commands
Sql commands
 

Viewers also liked

Disparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My SqlDisparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My Sql
yareli
 

Viewers also liked (14)

Disparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My SqlDisparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My Sql
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)
 
Disparadores
DisparadoresDisparadores
Disparadores
 
Crear y Eliminar Bases de datos en MySQL Workbench
Crear y Eliminar  Bases de datos en MySQL WorkbenchCrear y Eliminar  Bases de datos en MySQL Workbench
Crear y Eliminar Bases de datos en MySQL Workbench
 
Tipos de datos en MySQL Workbench
Tipos de datos en  MySQL  WorkbenchTipos de datos en  MySQL  Workbench
Tipos de datos en MySQL Workbench
 
Instalacion de MySQL Workbench
Instalacion de MySQL  WorkbenchInstalacion de MySQL  Workbench
Instalacion de MySQL Workbench
 
Derivada de funciones trigonometricas
Derivada de funciones trigonometricas Derivada de funciones trigonometricas
Derivada de funciones trigonometricas
 
Derivadas de funciones logaritmicas
Derivadas de funciones logaritmicas Derivadas de funciones logaritmicas
Derivadas de funciones logaritmicas
 
Aprendizaje basado en problemas
Aprendizaje basado en problemasAprendizaje basado en problemas
Aprendizaje basado en problemas
 
Sistema Masa Resorte
Sistema Masa ResorteSistema Masa Resorte
Sistema Masa Resorte
 
Ventana de inicio de MySQL Workbench
Ventana de inicio de MySQL WorkbenchVentana de inicio de MySQL Workbench
Ventana de inicio de MySQL Workbench
 
Reconociendo el administrador del servidor MySQL Workbench
Reconociendo el  administrador  del  servidor MySQL WorkbenchReconociendo el  administrador  del  servidor MySQL Workbench
Reconociendo el administrador del servidor MySQL Workbench
 
Mapa mental
Mapa mentalMapa mental
Mapa mental
 
Crear conexion a servidor en MySQL Workbench
Crear conexion a servidor en  MySQL WorkbenchCrear conexion a servidor en  MySQL Workbench
Crear conexion a servidor en MySQL Workbench
 

Similar to Triggers o disparadores en MySQL

Triggers o disparadores
Triggers o disparadoresTriggers o disparadores
Triggers o disparadores
Pablo Jose
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
Luis Jherry
 
Disparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My SqlDisparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My Sql
guest9c891000
 
Manualitosqlserver
ManualitosqlserverManualitosqlserver
Manualitosqlserver
Oca srl
 

Similar to Triggers o disparadores en MySQL (20)

Charla Mysql
Charla MysqlCharla Mysql
Charla Mysql
 
Trigger - INSERT- Base de Datos 2 .pptx
Trigger - INSERT- Base de Datos 2  .pptxTrigger - INSERT- Base de Datos 2  .pptx
Trigger - INSERT- Base de Datos 2 .pptx
 
Dbd triggers
Dbd triggersDbd triggers
Dbd triggers
 
Tutorial disparadores
Tutorial disparadoresTutorial disparadores
Tutorial disparadores
 
Triggers o disparadores
Triggers o disparadoresTriggers o disparadores
Triggers o disparadores
 
Actualización de bases de datos en MySQL
Actualización de bases de datos en MySQLActualización de bases de datos en MySQL
Actualización de bases de datos en MySQL
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Disparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My SqlDisparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My Sql
 
Presentacio Sql 1
Presentacio Sql 1Presentacio Sql 1
Presentacio Sql 1
 
Manualitosqlserver
ManualitosqlserverManualitosqlserver
Manualitosqlserver
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005
 
Postgres trigger
Postgres triggerPostgres trigger
Postgres trigger
 
1 lab-2 -tablas-y-restricciones
1 lab-2 -tablas-y-restricciones1 lab-2 -tablas-y-restricciones
1 lab-2 -tablas-y-restricciones
 
Disparadores.pptx
Disparadores.pptxDisparadores.pptx
Disparadores.pptx
 
Cheat_MySQL.docx
Cheat_MySQL.docxCheat_MySQL.docx
Cheat_MySQL.docx
 
Apuntes 3
Apuntes 3Apuntes 3
Apuntes 3
 
Triggers-Activadores
Triggers-ActivadoresTriggers-Activadores
Triggers-Activadores
 
Unidad iii dql
Unidad iii dqlUnidad iii dql
Unidad iii dql
 
Trigger activadores
Trigger    activadoresTrigger    activadores
Trigger activadores
 
San triggers
San triggersSan triggers
San triggers
 

More from Jair Ospino Ardila

Ejercicios de Calculo Multivariable
Ejercicios de Calculo MultivariableEjercicios de Calculo Multivariable
Ejercicios de Calculo Multivariable
Jair Ospino Ardila
 
consultas en Access no coincidentes
consultas en Access no coincidentesconsultas en Access no coincidentes
consultas en Access no coincidentes
Jair Ospino Ardila
 
Solución de Ecuaciones Diferenciales en Simulink
Solución de Ecuaciones Diferenciales en SimulinkSolución de Ecuaciones Diferenciales en Simulink
Solución de Ecuaciones Diferenciales en Simulink
Jair Ospino Ardila
 

More from Jair Ospino Ardila (17)

Cuerpos geométricos
Cuerpos geométricosCuerpos geométricos
Cuerpos geométricos
 
Derivadas de potencias y funciones exponenciales
Derivadas de potencias y funciones exponenciales Derivadas de potencias y funciones exponenciales
Derivadas de potencias y funciones exponenciales
 
Calculo Diferencial Tips y conceptos fundamentales
Calculo Diferencial Tips y conceptos fundamentalesCalculo Diferencial Tips y conceptos fundamentales
Calculo Diferencial Tips y conceptos fundamentales
 
Crear vistas en microsoft access
Crear vistas en microsoft accessCrear vistas en microsoft access
Crear vistas en microsoft access
 
Ejercicios de Calculo Multivariable
Ejercicios de Calculo MultivariableEjercicios de Calculo Multivariable
Ejercicios de Calculo Multivariable
 
Eliminar virus de acceso directo
Eliminar virus de acceso directoEliminar virus de acceso directo
Eliminar virus de acceso directo
 
Ecuaciones diferenciales
Ecuaciones diferencialesEcuaciones diferenciales
Ecuaciones diferenciales
 
Calculo superior para ingenieros Gamma Beta
Calculo superior para ingenieros Gamma BetaCalculo superior para ingenieros Gamma Beta
Calculo superior para ingenieros Gamma Beta
 
Funcion beta
Funcion betaFuncion beta
Funcion beta
 
Función gamma
Función gammaFunción gamma
Función gamma
 
Distribución de frecuencia
Distribución de frecuenciaDistribución de frecuencia
Distribución de frecuencia
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 
Creación de tablas y relaciones en MySQL y SQL yog
Creación de tablas y relaciones en MySQL y SQL yogCreación de tablas y relaciones en MySQL y SQL yog
Creación de tablas y relaciones en MySQL y SQL yog
 
Creación de tablas y relaciones en MySQL y wamp server
Creación de tablas y relaciones en MySQL y  wamp serverCreación de tablas y relaciones en MySQL y  wamp server
Creación de tablas y relaciones en MySQL y wamp server
 
consultas en Access no coincidentes
consultas en Access no coincidentesconsultas en Access no coincidentes
consultas en Access no coincidentes
 
Solución de Ecuaciones Diferenciales en Simulink
Solución de Ecuaciones Diferenciales en SimulinkSolución de Ecuaciones Diferenciales en Simulink
Solución de Ecuaciones Diferenciales en Simulink
 
Full text search
Full text search Full text search
Full text search
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (12)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Triggers o disparadores en MySQL

  • 1. Guía Sencilla Jair Ospino Ardila -- jairospino@ingenieros.com
  • 2. Son procedimientos que se ejecutan cumple una condición establecida. automáticamente cuando se Los triggers pueden ser de:  Inserción (INSERT)  Actualización (UPDATE)  Eliminación (DELETE). NOTA: Para poder crear el Disparador hay que tener presente:  Deben existir las Tablas Asociadas a el Disparador  El Disparador no debe tener un nombre asociado a una palabra reservada del sistema.  Se debe previamente modificar el comodín de ejecución de comandos que esta por defecto (;). para ello utilizamos DELIMITER @ OJO --> no es obligatorio - @ - puede ser cualquier comodín  No se permite dentro de la Sentencia del trigger ejecutar un comando Select.  No se admiten más de un trigger que relacionen a una misma tabla con la misma acción. Hasta ahora versión del Ejemplo 5.5.24 año 2013 DELIMITER @ CREATE trigger nombre_trigger [before, after] [insert, update, delete] ON tabla For Each Row Begin Sentencia a Ejecutar [insert, update, delete] End; @ DELIMITER ;
  • 3. CREATE database IF NOT EXISTS bdTrigger; USE bdTrigger; CREATE TABLE IF NOT EXISTS tb_cliente ( id_orden INT NOT NULL auto_increment, documento VARCHAR(12), nombre VARCHAR(25) NOT NULL, apellido VARCHAR(35)NOT NULL, telefono VARCHAR(15), email VARCHAR(50), PRIMARY KEY(id_orden,documento) )engine=InnoDB; /* En esta tabla guardaremos el respaldo de los datos luego de ejecutar una instrucción en la tabla tb_cliente mediante el Disparador*/ CREATE TABLE IF NOT EXISTS tb_seguridad_cliente ( documento_c VARCHAR(12), nombre_c VARCHAR(25), apellido_c VARCHAR(35), telefono_c VARCHAR(15), email_c VARCHAR(50), fecha_accion_c DATE, accion_c VARCHAR(11) /* Agregado, Modificado, Cancelado-0-(Eliminado)*/ )engine=InnoDB;
  • 4.
  • 5.
  • 6. NOTA:  El comando new nos permite referenciar al valor que viene por primera vez, seguido por el nombre del campo que deseamos tomar de la tabla a la cual definimos en el disparador al momento de crearlo (tb_cliente)  Si lo que deseamos es INSERTAR (insert) solamente podemos utilizamos el comando new.  Si lo que deseamos es ACTUALIZAR (update) podremos utilizar los dos comandos permitidos new y old.  Si usamos -- old -- hacemos referencia al dato que contenía el registro antes de modificarlo.  si lo que deseamos es ELIMINAR (delete) solamente podemos utilizar el comando old. /* Trigger que se acciona luego de INSERTAR algún registro en la Tabla tb_cliente*/ DELIMITER @ CREATE TRIGGER tr_insert_cliente BEFORE INSERT ON tb_cliente FOR EACH ROW BEGIN INSERT INTO tb_seguridad_cliente VALUES ( new.documento, new.nombre, new.apellido, new.telefono, new.email, curdate(),'Agregado'); END; @ DELIMITER ;
  • 7. /* Trigger que se acciona luego de ACTUALIZAR algún registro en la Tabla tb_cliente*/ DELIMITER @ CREATE TRIGGER tr_update_cliente BEFORE UPDATE ON tb_cliente FOR EACH ROW BEGIN INSERT INTO tb_seguridad_cliente VALUES (new.documento, new.nombre, new.apellido, new.telefono, new.email, curdate(), 'Modificado'); END; @ DELIMITER ; /* Trigger que se acciona luego de ELIMINAR algún registro en la Tabla tb_cliente*/ DELIMITER @ CREATE TRIGGER tr_delete_cliente BEFORE DELETE ON tb_cliente FOR EACH ROW BEGIN INSERT INTO tb_seguridad_cliente VALUES(old.documento, old.nombre, old.apellido, old.telefono, old.email, curdate(),'Eliminado'); END; @ DELIMITER ;
  • 8.
  • 9.
  • 10. /* Insertamos clientes para verificar que el Disparador -- tr_insert_cliente -- Funcione correctamente */ INSERT INTO tb_cliente(documento,nombre,apellido,telefono,email) VALUES ('1065 -1','jair cliente 1','apellido cliente 1','tel c1','email@cliente1'), ('1065 -2','marcela cliente 2','apellido cliente 2','tel c2','email@cliente2'), ('1065 -3','damaris cliente 3','apellido cliente 3','tel c3','email@cliente3'), ('1065 -4','emeterio cliente 4','apellido cliente 4','tel c4','email@cliente4'), ('1065 -5','diana cliente 5','apellido cliente 5','tel c5','email@cliente5'), ('1065 -6','ruber cliente 6','apellido cliente 6','tel c6','email@cliente6'), ('1065 -7','yuleidi cliente 7','apellido cliente 7','tel c7','email@cliente7'), ('1065 -8','vianeth cliente 8','apellido cliente 8','tel c8','email@cliente8'), ('1065 -9','lucia cliente 9','apellido cliente 9','tel c9','email@cliente9'), ('1065 -10','ismael cliente 10','apellido cliente 10','tel c10','email@cliente10'), ('1065 -11','justa cliente 11','apellido cliente 11','tel c11','email@cliente11'), ('1065 -12','sergio cliente 12','apellido cliente 12','tel c12','email@cliente12' );
  • 11. /* Modificamos clientes para verificar que el Dispardor -- tr_update_cliente -- Funcione correctamente */ UPDATE tb_cliente SET documento='i065 -mod', nombre='nombre j22 mod', apellido='apellido mod', telefono='tel mod' WHERE id_orden = 7; /* Eliminamos clientes para verificar que el Dispardor -- tr_delete_cliente -- Funcione correctamente */ DELETE FROM tb_cliente WHERE id_orden = 9;
  • 12. /* Ahora si consultamos la tabla de tb_seguridad_cliente podremos observar que automáticamente se han guardado los datos, sin necesidad de hacerlo mediante código otra vez */ SELECT DISTINCT(documento_c), nombre_c, apellido_c, accion_c FROM tb_seguridad_cliente; /* Para MOSTRAR los Disparadores - triggers empleamos el comando: Show triggers; */ Show triggers;
  • 13. /* Para BORRAR los Disparadores - triggers empleamos el comando: Drop trigger nombre_trigger; */ DROP TRIGGER tr_cliente;