CREATE DATABASE IF NOT EXISTS TestDB;
USE TestDB;
CREATE TABLE IF NOT EXISTS TestTable (
ID INT PRIMARY KEY,
Name VARCHAR(50)
);
CREATE TABLE IF NOT EXISTS LogTable (
Operation VARCHAR(10),
Description VARCHAR(255),
EventTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE PROCEDURE LogInsertTrigger()
BEGIN
INSERT INTO LogTable (Operation, Description)
VALUES ('INSERT', 'A new row is being inserted.');
END;
CREATE PROCEDURE LogUpdateTrigger()
BEGIN
INSERT INTO LogTable (Operation, Description)
VALUES ('UPDATE', 'A row is being updated.');
END;
CREATE TRIGGER BeforeInsertTrigger
AFTER INSERT ON TestTable
FOR EACH ROW
BEGIN
CALL LogInsertTrigger();
END;
CREATE TRIGGER AfterUpdateTrigger
AFTER UPDATE ON TestTable
FOR EACH ROW
BEGIN
CALL LogUpdateTrigger();
END;
INSERT INTO TestTable (ID, Name)
VALUES (1, 'Alice');
UPDATE TestTable
SET Name = 'Alice Updated'
WHERE ID = 1;
SELECT * FROM LogTable;