MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | fechas | | gestionescolar | | information_schema | | libreria | | matricula | | matricula2 | | mysql | | nombre_biblioteca | | performance_schema | | phpmyadmin | | practica2 | | practicaf | | procolor | | pruebadetrigger | | reto2 | | subconsultas | | test | | turismo | +--------------------+ 18 rows in set (0.008 sec) MariaDB [(none)]> CREATE TABLE Procesos ( -> ID INT AUTO_INCREMENT, -> Nombre VARCHAR(255), -> Descripcion VARCHAR(255), -> Fecha_inicio DATE, -> Fecha_fin DATE, -> PRIMARY KEY (ID) -> ); ERROR 1046 (3D000): No database selected MariaDB [(none)]> use subconsultas; Database changed MariaDB [subconsultas]> CREATE TABLE Procesos ( -> ID INT AUTO_INCREMENT, -> Nombre VARCHAR(255), -> Descripcion VARCHAR(255), -> Fecha_inicio DATE, -> Fecha_fin DATE, -> PRIMARY KEY (ID) -> ); Query OK, 0 rows affected (0.078 sec) MariaDB [subconsultas]> CREATE TABLE Acciones ( -> ID INT AUTO_INCREMENT, -> ID_Proceso INT, -> Accion VARCHAR(255), -> Fecha DATE, -> Usuario VARCHAR(255), -> PRIMARY KEY (ID), -> FOREIGN KEY (ID_Proceso) REFERENCES Procesos(ID) -> ); Query OK, 0 rows affected (0.097 sec) MariaDB [subconsultas]> CREATE TABLE Auditoria ( -> ID INT AUTO_INCREMENT, -> ID_Proceso INT, -> ID_Accion INT, -> Fecha DATE, -> Usuario VARCHAR(255), -> Accion_realizada VARCHAR(255), -> PRIMARY KEY (ID) -> ); Query OK, 0 rows affected (0.080 sec) MariaDB [subconsultas]> delimiter // MariaDB [subconsultas]> create trigger trg_audtoria -> after insert, update, delete on procesos -> for each row -> begin -> if new.id is not null then -> insert into auditoria (id_proceso, id_accion, fecha, usuario, accion_realizada) -> values (new.id, null, now(), current_user, 'insercion'); -> end if; -> end; // ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' update, delete on procesos for each row begin if new.id is not null then ins...' at line 2 MariaDB [subconsultas]> DELIMITER // MariaDB [subconsultas]> MariaDB [subconsultas]> CREATE TRIGGER trg_auditoria_insert -> AFTER INSERT ON procesos -> FOR EACH ROW -> BEGIN -> IF NEW.ID IS NOT NULL THEN -> INSERT INTO auditoria (id_proceso, id_accion, fecha, usuario, accion_realizada) -> VALUES (NEW.ID, NULL, NOW(), CURRENT_USER, 'Inserci¢n'); -> END IF; -> END; // Query OK, 0 rows affected (0.075 sec) MariaDB [subconsultas]> MariaDB [subconsultas]> CREATE TRIGGER trg_auditoria_update -> AFTER UPDATE ON procesos -> FOR EACH ROW -> BEGIN -> IF NEW.ID IS NOT NULL THEN -> INSERT INTO auditoria (id_proceso, id_accion, fecha, usuario, accion_realizada) -> VALUES (NEW.ID, NULL, NOW(), CURRENT_USER, 'Actualizaci¢n'); -> END IF; -> END; // Query OK, 0 rows affected (0.048 sec) MariaDB [subconsultas]> MariaDB [subconsultas]> CREATE TRIGGER trg_auditoria_delete -> AFTER DELETE ON procesos -> FOR EACH ROW -> BEGIN -> IF OLD.ID IS NOT NULL THEN -> INSERT INTO auditoria (id_proceso, id_accion, fecha, usuario, accion_realizada) -> VALUES (OLD.ID, NULL, NOW(), CURRENT_USER, 'Eliminaci¢n'); -> END IF; -> END; // Query OK, 0 rows affected (0.043 sec) MariaDB [subconsultas]> MariaDB [subconsultas]> DELIMITER ; MariaDB [subconsultas]> INSERT INTO Procesos (Nombre, Descripcion, Fecha_inicio, Fecha_fin) -> VALUES ('Proceso 1', 'Descripci¢n del proceso 1', '2022-01-01', '2022-01-31'); Query OK, 1 row affected (0.037 sec) MariaDB [subconsultas]> MariaDB [subconsultas]> INSERT INTO Acciones (ID_Proceso, Accion, Fecha, Usuario) -> VALUES (1, 'Inicio', '2022-01-01', 'Usuario 1'); Query OK, 1 row affected (0.023 sec) MariaDB [subconsultas]> SELECT * FROM Auditoria; +----+------------+-----------+------------+----------------+------------------+ | ID | ID_Proceso | ID_Accion | Fecha | Usuario | Accion_realizada | +----+------------+-----------+------------+----------------+------------------+ | 1 | 1 | NULL | 2024-08-31 | root@localhost | Inserci¢n | +----+------------+-----------+------------+----------------+------------------+ 1 row in set (0.001 sec) MariaDB [subconsultas]> exit