PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Nilai Default dalam kolom saat menyisipkan baris baru

Selamat datang di SO. Lihat triggers .

Pada dasarnya Anda hanya perlu membuat fungsi untuk melakukan pembaruan ..

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

.. dan lampirkan ke BEFORE INSERT OR UPDATE pemicu seperti ini

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

Setelah memasukkan catatan ..

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

.. Anda memiliki kolom yang diperbarui dengan tanggal saat ini

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CommandError:Anda tampaknya tidak menginstal program 'psql' atau di jalur Anda

  2. Postgres - ERROR:pernyataan yang disiapkan S_1 sudah ada

  3. Presto SQL :Mengubah zona waktu menggunakan string zona waktu yang datang sebagai akibat dari kueri tidak berfungsi

  4. Di psql bagaimana menjalankan Loop untuk kueri Select dengan CTE dan mendapatkan output yang ditampilkan jika saya menjalankannya dalam read-only db?

  5. Setara dengan fungsi FOUND_ROWS() di Postgresql