PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

estrarre la data dal timestamp in postgreSQL

Se vuoi impostare "data1" nel trigger di aggiornamento, dovrebbe essere così:

CREATE OR REPLACE FUNCTION insert_date1_trg_func() RETURNS trigger AS $BODY$
BEGIN
  NEW.date1 = date_trunc('day', NEW.timestamp1)::date;
  RETURN NEW;
END; $BODY$ LANGUAGE plpgsql STABLE;

Attivazione:

CREATE TRIGGER insert_date1_trg_func()
BEFORE INSERT OR UPDATE ON schema.table
FOR EACH ROW EXECUTE PROCEDURE insert_date1_trg_func();

Tieni presente che il trigger dovrebbe attivarsi PRIMA l'inserimento o l'aggiornamento o le modifiche non persisteranno nel database.