CREATE FUNCTION foo() RETURNS text
LANGUAGE plperl
AS $$
return 'foo';
$$;
CREATE FUNCTION foobar() RETURNS text
LANGUAGE plperl
AS $$
return foo() . 'bar';
$$;
我正在尝试使用多个函数编写结果,但是当我调用foobar()
时,我得到一个空结果。
答案 0 :(得分:4)
PL / Perl函数不能直接相互调用(因为它们是Perl中的匿名子例程)。
解决方案似乎是将函数作为postgres函数调用(使用spi_query),或者您可以在全局可用的散列%_SHARED
中引用函数,如图所示here