sql >> Base de Datos >  >> RDS >> PostgreSQL

La actualización entre 2 bases de datos usando dblink no funciona

Agregue alias de tabla/columna y (muy probablemente) una condición WHERE como esta:

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;

Asumiendo tipo text . Adáptese a su tipo actual.
Y sin coma en la cadena de conexión .
No estoy vinculando a con b desde a devuelve una sola fila aquí.