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

Bagaimana cara menghindari rekursi dalam pemicu pembaruan yang melakukan pembaruan?

Jangan gunakan UPDATE, gunakan BEFORE memicu dan menetapkan nilai baru:

CREATE OR REPLACE FUNCTION vat_total_sum() RETURNS TRIGGER AS $$
BEGIN
  new.vat_total_sum := NEW.vat_sum / 100 * NEW.vat_percent; 
  RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER vat_total_sum 
   BEFORE INSERT OR UPDATE ON goods
   FOR EACH ROW EXECUTE PROCEDURE vat_total_sum();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memastikan bahwa baris duplikat tidak ditambahkan ke tabel database saya melalui activerecords?

  2. PHP tidak memuat php_pgsql.dll di Windows

  3. Tidak ada liblwgeom saat menggunakan postgresql84 dan postgis di Snow Leopard dengan MacPorts

  4. masalah alias kolom postgres

  5. Tidak dapat terhubung ke postgres dari host jarak jauh