PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Déclencheur pour mettre à jour la date actuelle dans Postgres 9

CREATE FUNCTION update_customer_last_sale() RETURNS TRIGGER AS $$
BEGIN
    UPDATE customer SET last_sale=now() WHERE cutomer_id=NEW.customer_id;
    RETURN NEW;
END; $$
LANGUAGE plpgsql;

alors

CREATE TRIGGER update_last_sale
BEFORE INSERT ON sale
FOR EACH ROW EXECUTE update_customer_last_sale;

NEW est la ligne qui est sur le point d'être insérée dans la table de vente. (Pour une ligne de mise à jour, ce serait NEW pour savoir à quoi ressemblera la ligne après la mise à jour, et OLD pour savoir à quoi ressemble la ligne avant la mise à jour).