【发布时间】:2014-05-30 03:51:45
【问题描述】:
我正在尝试通过函数使用 dblink 从远程数据库获取数据,但收到错误“查询没有结果数据的目的地”。我正在使用 plpgsql 语言来做同样的事情。
功能:
CREATE OR REPLACE FUNCTION fun()
RETURNS text AS
$$
begin
select dblink_connect(
'port=5432 dbname=test user=postgres password=****');
WITH a AS (
SELECT *
FROM dblink(
'SELECT slno,fname,mname,lname
FROM remote_tbl'
) AS t (slno int, fname text, mname text, lname text)
)
, b AS (
INSERT INTO temptab1
SELECT slno, name
FROM a
)
, c AS (
INSERT INTO temptab2
SELECT slno, name
FROM a
)
INSERT INTO temptab3
SELECT slno, name
FROM a;
select dblink_disconnect();
end;
$$
LANGUAGE plpgsql;
调用函数:
select fun();
错误:查询没有结果数据的目的地
【问题讨论】:
-
@bma,对不起!但我不知道在哪里替换 PERFORM?
-
我删除了我的评论,我没有仔细阅读。
-
@Daniel Vérité,+1 有用的评论。谢谢。
标签: postgresql common-table-expression dblink