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

Pada INSERT ke tabel INSERT data di tabel yang terhubung

pgAdmin hanyalah GUI. Maksud Anda PostgreSQL , RDBMS .

batasan kunci asing , seperti Anda hanya memberlakukan bahwa tidak ada nilai yang dapat digunakan, yang tidak ada di kolom yang direferensikan. Anda dapat menggunakan ON UPDATE CASCADE atau ON DELETE CASCADE untuk menyebarkan perubahan dari kolom yang direferensikan, tetapi Anda tidak dapat membuat baris baru dengan itu seperti yang Anda gambarkan. Anda mendapatkan alat yang salah.

Apa yang Anda gambarkan dapat dicapai dengan pemicu . Cara lain yang lebih rumit adalah RULE . Gunakan pemicu di sini.

Di PostgreSQL Anda memerlukan fungsi pemicu , kebanyakan menggunakan plpgsql , dan pemicu di atas meja yang memanfaatkannya.

Sesuatu seperti:

CREATE OR REPLACE FUNCTION trg_insert_row_in_tbl2()
  RETURNS trigger AS
$func$
BEGIN
   INSERT INTO tbl2 (my_id, col1)
   VALUES (NEW.my_id, NEW.col1)     -- more columns?

   RETURN NEW;  -- doesn't matter much for AFTER trigger
END
$func$  LANGUAGE plpgsql;

Dan pemicu AFTER INSERT di tbl1 :

CREATE TRIGGER insaft
AFTER INSERT ON tbl1
FOR EACH ROW EXECUTE PROCEDURE trg_insert_row_in_tbl2();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat mengimpor .csv ke Cloud SQL dari konsol

  2. PostgreSQL pada simpul perusahaan Corda menimbulkan kesalahan relasi

  3. Ukuran basis data PostgreSQL lebih kecil setelah pencadangan/pemuatan di Heroku

  4. Tidak dapat mengimpor ke database heroku postgres dari dump

  5. Penanganan Pengecualian PostgreSQL