Lab 04: Triggers & Events
Step 1 — Setup: Orders and Audit Table
USE labdb;
CREATE TABLE IF NOT EXISTS audit_log (
id INT AUTO_INCREMENT PRIMARY KEY,
table_name VARCHAR(50),
action VARCHAR(20),
record_id INT,
changed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
details TEXT
);CREATE TABLE audit_log (
id SERIAL PRIMARY KEY,
table_name TEXT,
action TEXT,
record_id INT,
old_data JSONB,
new_data JSONB,
changed_at TIMESTAMP DEFAULT NOW()
);Step 2 — MySQL: AFTER INSERT Trigger
Step 3 — MySQL: BEFORE UPDATE Trigger
Step 4 — MySQL: AFTER DELETE Trigger + Soft Delete
Step 5 — MySQL: Event Scheduler
Step 6 — PostgreSQL: Trigger Function + CREATE TRIGGER
Step 7 — PostgreSQL: Test Trigger and INSTEAD OF on Views
Step 8 — Capstone: Inventory Trigger System
Summary
Concept
MySQL
PostgreSQL
Last updated
