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

UNTUK SETIAP PERNYATAAN contoh pemicu

OLD dan NEW null atau tidak ditentukan dalam pemicu tingkat pernyataan. Per dokumentasi:

Penekanan saya yang berani.

Hingga Postgres 10 ini membaca sedikit berbeda, dengan efek yang sama, meskipun:

Sementara variabel record tersebut masih tidak berguna untuk pemicu tingkat pernyataan, fitur baru yang sangat banyak adalah:

Tabel transisi di Postgres 10+

Postgres 10 memperkenalkan tabel transisi. Itu memungkinkan akses ke seluruh rangkaian baris yang terpengaruh. Manual:

Ikuti tautan ke manual untuk contoh kode.

Contoh pemicu tingkat pernyataan tanpa tabel transisi

Sebelum munculnya tabel transisi, itu bahkan kurang umum. Contoh yang berguna adalah mengirim pemberitahuan setelah perintah DML tertentu.
Berikut adalah versi dasar dari apa yang saya gunakan:

-- Generic trigger function, can be used for multiple triggers:
CREATE OR REPLACE FUNCTION trg_notify_after()
  RETURNS trigger
  LANGUAGE plpgsql AS
$func$
BEGIN
   PERFORM pg_notify(TG_TABLE_NAME, TG_OP);
   RETURN NULL;
END
$func$;

-- Trigger
CREATE TRIGGER notify_after
AFTER INSERT OR UPDATE OR DELETE ON my_tbl
FOR EACH STATEMENT
EXECUTE PROCEDURE trg_notify_after();

Untuk Postgres 11 atau yang lebih baru, gunakan sintaks yang setara dan tidak terlalu membingungkan:

...
EXECUTE FUNCTION trg_notify_after();

Lihat:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jumlah Total Rekaman per Minggu

  2. Cara membuat daftar tabel yang terpengaruh oleh penghapusan berjenjang

  3. cara membuat tabel tanggal gregorian ISO-8601 di postgres

  4. Deteksi pulau SQL melalui beberapa parameter dan kondisi

  5. Masukkan Binary Large Object (BLOB) di PostgreSQL menggunakan libpq dari mesin jarak jauh