sql >> Base de Datos >  >> RDS >> PostgreSQL

Valor predeterminado en una columna al insertar una nueva fila

Bienvenido a SO. Eche un vistazo a triggers .

Básicamente, solo necesita crear una función para realizar la actualización ..

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

.. y adjúntelo a un BEFORE INSERT OR UPDATE desencadenar así

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

Después de insertar un registro ..

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

.. tienes tu columna actualizada con la fecha actual

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