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

Cập nhật giữa 2 cơ sở dữ liệu bằng dblink không hoạt động

Thêm bí danh bảng / cột và (có thể là) điều kiện WHERE như sau:

UPDATE tb1 b
SET    name = a.pname   -- maybe you want to update *pname* instead?
FROM  (
   SELECT *
   FROM   dblink('port=5432 dbname=db1 user=postgres  password=12345'
               , 'SELECT pname FROM ta1 WHERE pid = 1')
          AS t(pname text)
   ) a
WHERE b.pid = 1;

Giả sử loại text . Điều chỉnh cho phù hợp với loại thực tế của bạn.
Và không có dấu phẩy trong chuỗi kết nối .
Tôi không liên kết a với b kể từ a trả về một hàng ở đây.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres Không có quyền tạo người dùng

  2. JDBC - chọn nơi cột là NULL

  3. Sử dụng thời gian hiện tại theo giờ UTC làm giá trị mặc định trong PostgreSQL

  4. Dữ liệu lớn với PostgreSQL và Apache Spark

  5. Tính toán tỷ lệ phần trăm với truy vấn GROUP BY