我想将 db_A 中的表 tbl_A 中的前 20 行插入到 db_B 中的 tbl_B。
tbl_A 和 tbl_B 的架构是:
CREATE TABLE <tbl_name> (
id serial PRIMARY KEY,
int a,
int b
);
我有一些与以下查询相关的问题
psql db_A
SELECT dblink_connect("dbname=db_B");
SELECT dblink_open('curse', 'SELECT id, a, b FROM tbl_B');
INSERT INTO tbl_A (SELECT id, a, b FROM dblink_fetch('curse', 20) AS (s_is int, s_a int, s_b int)) RETURNING a;
- 我可以将以下语句放入存储过程中:
- 是否可以创建上述三个语句组合的存储过程并创建该过程的准备语句。
如果有人可以评论使用游标或在存储过程中使用 dblink 或任何其他更优雅地实现上述方法的做法有多好,我将不胜感激。