sql >> Databasteknik >  >> RDS >> PostgreSQL

Standardvärde i en kolumn när en ny rad infogas

Välkommen till SO. Ta en titt på triggers .

I princip behöver du bara skapa en funktion för att utföra den uppdaterade ..

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

.. och bifoga den till en BEFORE INSERT OR UPDATE trigger så här

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

Efter att ha infogat en post ..

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

.. du har din uppdaterade kolumn med aktuellt datum

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



  1. Hur kan jag automatiskt skapa en e-postadress för mina webbplatsmedlemmar?

  2. PDO Infoga i DB

  3. Använder UNION ALL i STUFF / XML Path

  4. Postgres typ {field type} är bara ett skal