PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Standardwert in einer Spalte beim Einfügen einer neuen Zeile

Willkommen bei S.O. Sehen Sie sich triggers an .

Im Grunde müssen Sie nur eine Funktion erstellen, um die aktualisierten ..

auszuführen
CREATE OR REPLACE FUNCTION update_date() RETURNS trigger AS
$BODY$
BEGIN
  NEW.updated = current_date;
  RETURN NEW;
END;
$BODY$ LANGUAGE 'plpgsql';

.. und hängen Sie es an einen BEFORE INSERT OR UPDATE an wie folgt auslösen

CREATE TRIGGER check_update
BEFORE INSERT OR UPDATE ON photographies
FOR EACH ROW EXECUTE PROCEDURE update_date();

Nach dem Einfügen eines Datensatzes ..

INSERT INTO photographies (name, author, date) 
VALUES ('José Saramago ','As Intermitências da Morte','2005-01-01');

.. Sie haben Ihre aktualisierte Spalte mit dem aktuellen Datum

SELECT * FROM photographies ;
      name      |           author           |    date    |  updated   
----------------+----------------------------+------------+------------
 José Saramago  | As Intermitências da Morte | 2005-01-01 | 2019-12-06
(1 Zeile)