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

Làm cách nào để tạo một truy vấn chèn vào cơ sở dữ liệu khác bằng cách sử dụng postgres_fdw?

Bạn không thể truy cập trực tiếp vào các bảng trong một cơ sở dữ liệu khác như bạn có thể làm trong MySQL (một cơ sở dữ liệu MySQL tương ứng với một lược đồ PostgreSQL ).

Vì vậy, có thể bạn có thể đạt được những gì bạn muốn bằng cách sử dụng các lược đồ khác nhau trong một cơ sở dữ liệu duy nhất.

Nếu bạn thực sự cần cập nhật một bảng trong một cơ sở dữ liệu khác, bạn sẽ phải sử dụng trình bao bọc dữ liệu ngoại lai postgres_fdw để truy cập bảng ngoại.

Bạn sẽ phải xác định một bảng ngoại - hãy gọi nó là foreign_employee - trong cơ sở dữ liệu db1 trỏ đến một bảng trong db2 .

Sau đó, bạn có thể làm điều đó như vậy:

INSERT INTO foreign_employee
SELECT e.*
FROM employee e
     JOIN archived a USING id
LIMIT 2;

Lưu ý rằng LIMIT hơi lạ ở đây, vì không có thứ tự ngầm định nào trong kết quả truy vấn trừ khi bạn buộc một thứ tự bằng ORDER BY .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách biểu diễn ngày tháng không chắc chắn trong PostgreSQL

  2. psycopg2 không thể thấy phiên bản PostgreSQL của tôi

  3. Đảo ngược tọa độ trong cột đa giác PostgreSQL

  4. Xóa cặp Giá trị khóa khỏi mảng lồng nhau jsonb trong postgresql

  5. nhóm theo cần thiết trong câu lệnh SQL count (*)?