考虑我有一个类似的功能(但以下不工作):
CREATE FUNCTION func(VARIADIC params character varying[])
RETURNS type1 AS
$BODY$
SELECT * FROM func2('id', array_to_string($1,'###’)
$BODY$
LANGUAGE sql VOLATILE;
func2的签名是:
func2(character varying, character varying)
因此,我要做的是将数组从“func”转换为由字符“###”分隔的长字符串。然后我想将整个字符串作为func2的第二个参数传递。
答案 0 :(得分:1)
为了说清楚,上述问题的答案如下:
CREATE FUNCTION func(VARIADIC params character varying[])
RETURNS type1 AS
$BODY$
SELECT * FROM func2('id', array_to_string($1,'###’))
$BODY$
LANGUAGE sql VOLATILE;