PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách xác định khóa chính được tạo tự động được sử dụng làm khóa ngoại cho một bảng khác

Câu trả lời cho câu hỏi 1:Sử dụng CTE sửa đổi dữ liệu và trả về PK nối tiếp với RETURNING mệnh đề:

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;

Yêu cầu Postgres 9.1 trở lên.
Các câu trả lời liên quan kèm theo giải thích và liên kết:

  • Chèn dữ liệu vào 3 bảng cùng một lúc bằng Postgres
  • Giá trị cửa hàng PostgreSQL được trả về bởi 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. Thoát giá trị LIKE SQL cho Postgres với psycopg2

  2. Kiến thức cơ bản về quản lý lược đồ PostgreSQL

  3. Tôi làm cách nào để ghi nhật ký psycopg2 về thời gian thực hiện truy vấn?

  4. Lấy tên ngày ngắn trong PostgreSQL

  5. Db khác nhau để thử nghiệm trong Django?