PostgreSQL错误:在远程dblink调用

时间:2019-02-26 22:40:26

标签: postgresql-9.6 dblink

当我运行此代码时:

do
$func$
declare cmd text;
begin

    cmd = FORMAT($$ select public.func_doit('%s'::date, '%s'::date); $$,'2019-01-01', '2019-03-01');

    PERFORM DBLINK('my_conn', cmd);


end;

$func$

我收到以下错误:

  

SQL错误[0A000]:错误:函数返回的记录在无法接受类型记录的上下文中调用     其中:SQL语句“ SELECT DBLINK('my_conn',cmd)”   PL / pgSQL函数inline_code_block在PERFORM的第12行     错误:函数返回的记录在无法接受类型记录的上下文中调用     其中:SQL语句“ SELECT DBLINK('my_conn',cmd)”   PL / pgSQL函数inline_code_block在PERFORM的第12行     错误:函数返回的记录在无法接受类型记录的上下文中调用     其中:SQL语句“ SELECT DBLINK('my_conn',cmd)”   PL / pgSQL函数inline_code_block在PERFORM的第12行

正在调用的函数:public.func_doitRETURNS void

错误消息所引用的组合中没有 记录 。该功能只是做些什么,没有任何返回值。

在被调用的函数中放置通知之后,将发布non,这意味着该函数甚至没有开始执行。

我知道该函数之所以有效,是因为当我直接从其本地DB调用它时,它可以按预期的方式使用相同的参数。

PERFORM是在此处使用的正确语句,因为该函数不返回任何内容。

我还尝试了...perform * from public.func_doit...,它引发了语法错误。

我在这里想念什么?

0 个答案:

没有答案