2
我想將db_A中的表tbl_A中的前20個ROWS插入到db_B中的tbl_B中。
爲tbl_A和tbl_B的模式是:Postgresql:存儲函數中的dblink
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存儲過程或以上,實現更優雅的任何其他方式發表意見。
是否有可能更新DBLINK的幫助程序查詢? – PrashantAdesara 2012-09-10 07:05:39
Concider將在最後一個調用'dblink'函數的參數中編寫的任何東西作爲SQL,它應該在遠程數據庫上執行。 – ertx 2012-09-10 08:42:22