Advanced Reporting

Triggers: The Automatic Reaction

Senior Data Analyst
March 26, 2026
6 min read

The Use Case

Every time an order is placed, automatically insert a record into the `audit_log` table.

The Trigger

CREATE FUNCTION log_order_insert() RETURNS TRIGGER AS $$

BEGIN

INSERT INTO audit_log (table_name, action, timestamp)

VALUES ('orders', 'INSERT', NOW());

RETURN NEW;

END;

$$ LANGUAGE plpgsql;

CREATE TRIGGER order_audit

AFTER INSERT ON orders

FOR EACH ROW EXECUTE FUNCTION log_order_insert();

Pro Tip

Triggers are powerful but hidden. Over-reliance on them can make debugging very difficult.

*Day 86: Transactions and ACID.*

Ready to put your knowledge into practice?

Join SQL Mastery and learn through interactive exercises.