我正在使用
Postgresql数据库.我有一个数据库是 – db1,我在这个数据库中有一个表是App1.
我需要针对db1中的这个App1表进行选择查询,然后我得到的结果是什么,我需要将它们插入到App2表中,因为它在另一个数据库db2中.
下面是我在db1中对App1表运行的查询 –
select col1,col2 from App1 limit 5
现在有什么方法可以使用Insert语句和上面的SELECT语句,它可以自动插入到App2表中,这是在db2中吗?
沿着这条线的东西 –
Insert into … values ( SELECT … FROM … )
要在数据库之间执行此操作,必须使用
the foreign data wrapper
postgres_fdw
或
use dblink
.请参阅文档. Postgresql不支持跨数据库SELECT.
通常,如果您发现自己想要这样做,则应该在单个数据库中使用单独的模式.
顺便说一句,一般来说:
INSERT INTO ... SELECT ...
即没有子查询,没有括号.那是因为VALUES子句实际上也是一个独立的语句:
INSERT INTO ... VALUES ...
观察:
regress=> VALUES (1,2),(2,3); column1 | column2 ---------+--------- 1 | 2 2 | 3 (2 rows)