我正在使用postgresql,我需要根据第一个数据库在2ND数据库中进行更新。我还需要使用dblink
这是我需要进行更新的行:
pid | pname | pcompany | clocation | did | name
1 Pirates Argos London 1 Mary
这是2ND数据库表1,其中必须进行更新
pid | pname | pcompany |
1 Ba Ba Black Argos
在第二个数据库中可以看到pname是Ba Ba Black。需要通过比较pid
将其更改为Pirates,如第1个数据库所以如果db1 ta1 = 1,那么db2 tb2 = 1则db2 tb2中的Ba Ba Black变为Pirates
我正在使用此代码:
UPDATE tb2
SET name = ta1.name
WHERE pid = 1
FROM dblink('port=5432, dbname=db1 user=postgres password=12345')
AS t1 (a character(50));
但它给了我这个错误:
ERROR: syntax error at or near "FROM"
LINE 4: FROM dblink('port=5432, dbname=db1 user=postgres password=1...
任何修复如何安排事情的请求?感谢
编辑:
例如,如果我将它与pid和pcompany进行比较,那就更好了 感谢
答案 0 :(得分:1)
你的FROM和WHERE混在一起:
UPDATE tb2
SET name = ta1.name
FROM dblink('port=5432, dbname=db1 user=postgres password=12345')
AS t1 (a character(50))
WHERE pid = 1;