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

biểu thức bảng chung có thể ghi và nhiều câu lệnh chèn

Bạn có thể sử dụng CTE, nếu bạn muốn tất cả trong một câu lệnh:

with foo as (
      select * from ...
     ),
     b as (
      insert into bar
          select * from foo
          returning *
     )
insert into baz
    select * from foo;

Ghi chú:

  • Bạn nên bao gồm danh sách cột bằng insert .
  • Bạn nên chỉ định tên cột rõ ràng cho select * . Điều này rất quan trọng vì các cột có thể không khớp trong hai bảng.
  • Tôi luôn sử dụng returning với update / insert / delete trong CTE. Đây là trường hợp sử dụng thông thường - chẳng hạn như bạn có thể lấy lại các id nối tiếp từ một phụ trang.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giao diện trực quan PostgreSQL tương tự như phpMyAdmin?

  2. pg_dump:tùy chọn không hợp lệ - tôi khi di chuyển

  3. Cập nhật nhiều hàng trong một bảng từ một bảng khác khi điều kiện tồn tại

  4. @T sẵn có (spring-data-react-mongodb) tương đương trong spring-data-r2dbc

  5. Kết nối PostgreSQL Pooling với PgBouncer