PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Update zwischen 2 Datenbanken mit dblink funktioniert nicht

Fügen Sie Tabellen-/Spaltenaliase und (höchstwahrscheinlich) eine WHERE-Bedingung wie diese hinzu:

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;

Angenommen, geben Sie text ein . Passen Sie sich Ihrem tatsächlichen Typ an.
Und kein Komma in der Verbindungszeichenfolge .
Ich verlinke a nicht mit b seit a gibt hier eine einzelne Zeile zurück.