· 10 years ago · Sep 20, 2016, 08:14 AM
1DROP TRIGGER IF EXISTS Validación_Ingreso_Clientes;
2Delimiter //
3CREATE TRIGGER Validación_Ingreso_CLientes BEFORE INSERT ON Clientes FOR EACH ROW
4BEGIN
5IF LENGTH(TRIM(NEW.nombre))>0 THEN
6 SET NEW.nombre=UPPER(NEW.nombre);
7ELSE
8 SET NEW.nombre='No Registrado';
9END IF;
10END //
11Delimiter ;
12//Trigger que permite validar los datos que se registran en el ingreso de la tabla Clientes,
13para que se ingresen en letras mayúsculas.
14
15DELIMITER //
16CREATE TRIGGER VALIDAR_CLIENTES BEFORE INSERT ON Clientes
17FOR EACH ROW
18
19BEGIN
20
21
22SET
23NEW.fechanacimiento=date_format(new.fechanacimiento,'%Y/%m/%d');
24
25IF (NEW.direccion="") THEN SET NEW.direccion='NO REGISTRADO';
26END IF;
27
28IF (NEW.telefono="") THEN SET NEW.telefono='NO REGISTRADO';
29END IF;
30
31CASE NEW.estadocivil
32
33WHEN 'Soltero' THEN SET NEW.estadocivil='S';
34
35WHEN 'Casado' THEN SET NEW.estadocivil='C';
36
37WHEN 'Viudo' THEN SET NEW.estadocivil='V';
38
39WHEN 'Divorciado' THEN SET NEW.estadocivil='D';
40
41WHEN 'Union Libre' THEN SET NEW.estadocivil='U';
42
43END CASE;
44END//
45
46DELIMITER ;
47
48DROP TABLE IF EXISTS AuditoriaUsuarios;
49
50CREATE TABLE AuditoriaUsuarios(
51
52idauditoriausuario int not null auto_increment primary key,
53
54fecha date,
55
56usuario varchar(40),
57
58proceso varchar(10),
59
60datos varchar(200) not null
61
62);
63
64#--------------------
65#TRIGGERS PARA CONTROLES DE INGRESO, ACTUALIZACION Y ELIMINACION DE TABLA CLIENTES
66#-----------------
67
68DROP TRIGGER IF EXISTS ControlIngresoClientes;
69DELIMITER //
70CREATE TRIGGER ControlIngresoClientes AFTER INSERT ON Clientes FOR EACH ROW
71BEGIN
72 DECLARE contenido Varchar(200);
73 SET contenido=CONCAT(NEW.id_cliente,' ',NEW.nombres,' ',
74 NEW.ruc_ci,' ',NEW.direccion,' ',NEW.telefono,' ',
75 NEW.FechaNacimiento,' ',NEW.EstadoCivil);
76 INSERT INTO AuditoriaUsuarios(Fecha,Usuario,Proceso,Datos)
77 VALUES (NOW(),USER(),'Agregado',contenido);
78END //
79DELIMITER ;
80
81DROP TRIGGER IF EXISTS ControlActualizacionClientes;
82DELIMITER //
83CREATE TRIGGER ControlActualizacionClientes BEFORE UPDATE ON Clientes FOR EACH ROW
84BEGIN
85 DECLARE act varchar(200);
86 SET act=CONCAT(OLD.idCliente,' por ',NEW.idCliente,', ',OLD.nombres,' por ',NEW.nombres,', ',OLD.apellidos,' por ',NEW.apellidos,', ',OLD.direccion,' por ',NEW.direccion);
87 SET act=CONCAT(act,', ', OLD.FechaNacimiento,' por ',NEW.FechaNacimiento,', ',OLD.telefono,' por ',NEW.telefono);
88 INSERT INTO AuditoriaUsuarios(Fecha,Usuario,Proceso,Datos) VALUES (NOW(),USER(),'Actualizado',act);
89END//
90DELIMITER ;
91
92DROP TRIGGER IF EXISTS ControlEliminacionClientes;
93DELIMITER //
94CREATE TRIGGER ControlEliminacionClientes AFTER DELETE ON Clientes FOR EACH ROW
95BEGIN
96 DECLARE act varchar(200);
97 SET act=CONCAT(OLD.id_cliente,' ',OLD.nombres,' ',
98 OLD.direccion,' ',OLD.telefono,' ',
99 OLD.FechaNacimiento);
100 INSERT INTO AuditoriaUsuarios (fecha, usuario, proceso, datos) VALUES
101 (NOW(),USER(),'Eliminado', act);
102END//
103DELIMITER ;
104
105
106#--------------------
107#TRIGGERS PARA CONTROLES DE INGRESO, ACTUALIZACION Y ELIMINACION DE TABLA VEHICULOS
108#-----------------
109
110
111DROP TRIGGER IF EXISTS ControlIngresoVehiculos;
112DELIMITER //
113CREATE TRIGGER ControlIngresoVehiculo AFTER INSERT ON Vehiculo FOR EACH ROW
114BEGIN
115 DECLARE contenido Varchar(200);
116 SET contenido=CONCAT(NEW.idVehiculo,' ',NEW.año,' ',
117 NEW.detalle);
118 INSERT INTO AuditoriaUsuarios(Fecha,Usuario,Proceso,Datos)
119 VALUES (NOW(),USER(),'Agregado',contenido);
120END //
121DELIMITER ;
122
123DROP TRIGGER IF EXISTS ControlActualizacionVehiculos;
124DELIMITER //
125CREATE TRIGGER ControlActualizacionVehiculos BEFORE UPDATE ON Vehiculos FOR EACH ROW
126BEGIN
127 DECLARE act varchar(200);
128 SET act=CONCAT(OLD.idVehiculo,' por ',NEW.idVehiculo,' ',OLD.año,' por ',NEW.año,', ',OLD.detalle,' por ',NEW.detalle);
129 INSERT INTO AuditoriaUsuarios(Fecha,Usuario,Proceso,Datos) VALUES (NOW(),USER(),'Actualizado',act);
130END//
131DELIMITER ;
132
133DROP TRIGGER IF EXISTS ControlEliminacionVehiculos;
134DELIMITER //
135CREATE TRIGGER ControlEliminacionVehiculos AFTER DELETE ON Vehiculo FOR EACH ROW
136BEGIN
137 DECLARE act varchar(200);
138 SET act=CONCAT(OLD.idVehiculo,' ',OLD.año ,' ',OLD.detalle);
139 INSERT INTO AuditoriaUsuarios (fecha, usuario, proceso, datos) VALUES
140 (NOW(),USER(),'Eliminado', act);
141END//
142DELIMITER ;