PostgreSQL 触发器

触发器在 INSERT/UPDATE/DELETE 前后自动执行函数:先建函数(RETURNS TRIGGER)再 CREATE TRIGGER 绑定。

Advanced
Key PointsPostgreSQL,触发器,TRIGGER,审计日志

讲解

触发器在 INSERT/UPDATE/DELETE 前后自动执行函数:先建函数(RETURNS TRIGGER)再 CREATE TRIGGER 绑定。

示例

SQL
CREATE OR REPLACE FUNCTION audit_log() RETURNS TRIGGER AS $$
BEGIN
  INSERT INTO audit(table_name, op, at) VALUES ('company', TG_OP, now());
  RETURN NEW;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER trg_audit
AFTER INSERT ON company
FOR EACH ROW EXECUTE FUNCTION audit_log();
Output
CREATE FUNCTION
CREATE TRIGGER

-- 每次 INSERT company 后 audit 表自动多一行

Friends & Partners