gpt4 book ai didi

postgresql - 使用 dblink 更新列

转载 作者:行者123 更新时间:2023-11-29 12:42:42 25 4
gpt4 key购买 nike

我正在使用以下引用更新表 cust_eq_memory_dy 中的 2 列(客户名称、服务)。

表 msrouterlistfinal2 中的环回将匹配 cust_eq_memory_dy 中的地址。

当我在“FROM”处或附近遇到语法错误时,有人可以帮助我解决这个问题吗?

Update between 2 databases using dblink not working

UPDATE cust_eq_memory_dy B 
SET customername = A.customername
WHERE B.ipaddress = A.loopbackip
FROM (
SELECT *
FROM DBLINK ( 'host= 10.X.80.160 user=123 password=123 dbname=postgres',
'select customername, serviceid, loopbackip FROM msrouterlistfinal2 ')
as temp (
customername character varying (100),
serviceid character varying (50),
loopbackip character varying (30) )
)A

最佳答案

如果您使用的是 postgres,我强烈建议您使用 WITH 句子。

    WITH A as ( SELECT * FROM DBLINK ( 'host= 10.X.80.160 user=123 password=123 dbname=postgres', 'select customername, serviceid, loopbackip FROM msrouterlistfinal2 ') as temp ( customername character varying (100), serviceid character varying (50), loopbackip character varying (30) ) )
UPDATE cust_eq_memory_dy B SET customername = (SELECT A.customername FROM A WHERE B.ipaddress = A.loopbackip);

查看此链接以获取更多信息。 https://www.postgresql.org/docs/8.4/static/queries-with.html

关于postgresql - 使用 dblink 更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41628872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com