gpt4 book ai didi

sql - 在 postgresql 中插入 ... 值(SELECT ... FROM ...)?

转载 作者:太空狗 更新时间:2023-10-30 01:49:34 25 4
gpt4 key购买 nike

我正在使用 Postgresql 数据库。我有一个数据库,它是 - db1,我在这个数据库中有一个表,它是 App1

我需要针对 db1 中的这个 App1 表进行选择查询,然后无论我得到什么结果,我都需要将它们插入 App2 表原样在另一个数据库 db2 中。

下面是我针对 db1 中的 App1 表运行的查询 -

select col1, col2 from App1 limit 5

现在有什么方法可以将 Insert 语句与上面的 SELECT 语句一起使用,它可以自动插入到 db2 中的 App2 表中吗?

沿着这条线的东西-

Insert into … values ( SELECT … FROM … )

因为两个表都在不同的数据库中,所以这可以在 Postgresql 中执行吗?

最佳答案

要在数据库之间执行此操作,您必须使用 the foreign data wrapper postgres_fdwuse dblink .请参阅文档。 PostgreSQL 不支持跨数据库SELECT

通常,如果您发现自己想要这样做,您应该改为在单个数据库中使用单独的模式。


顺便说一句,通常是:

INSERT INTO ... SELECT ...

即没有子查询,没有括号。那是因为 VALUES 子句实际上也是一个独立的语句:

INSERT INTO ... VALUES ...

观察:

regress=> VALUES (1,2), (2,3);
column1 | column2
---------+---------
1 | 2
2 | 3
(2 rows)

关于sql - 在 postgresql 中插入 ... 值(SELECT ... FROM ...)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22138856/

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