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

Cara menentukan kunci utama yang dibuat secara otomatis yang digunakan sebagai kunci asing untuk tabel lain

Jawaban untuk Q1:Gunakan CTE pengubah data dan kembalikan serial PK dengan RETURNING klausa:

WITH ins_main AS (
   INSERT INTO main(col1)
   VALUES ('some value 1')
   RETURNING main_id    
   )
, ins_submain AS (
   INSERT INTO submain (main_id, col2)
   SELECT main_id, 'some value 2'
   FROM   ins_main
   RETURNING submain_id
   )
INSERT INTO subsub (submain_id, col3)
SELECT submain_id, 'some value 3'
FROM   ins_submain;

Memerlukan Postgres 9.1 atau lebih baru.
Jawaban terkait dengan penjelasan dan tautan:

  • Menyisipkan data dalam 3 tabel sekaligus menggunakan Postgres
  • Nilai penyimpanan PostgreSQL dikembalikan oleh RETURNING



  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 mengkonfigurasi HikariCP untuk postgresql?

  2. Apakah lebih baik menggunakan beberapa database dengan satu skema masing-masing, atau satu database dengan beberapa skema?

  3. Bagaimana saya bisa mengubah kolom yang ada sebagai Identitas di PostgreSQL 11.1

  4. Konversi Akses ke PostgreSQL?

  5. Skrip shell untuk menjalankan perintah pgsql dalam file