如何创建两个VARIADIC
参数。看看我的代码并纠正我。
CREATE OR REPLACE FUNCTION ip_source_test(
text, text, date, date, VARIADIC int[], VARIADIC text[]
)
RETURNS TABLE (no_documents int, "Report By" text, "Report_By" text)
AS $$
BEGIN
IF 'Source Member' = $1 THEN
RETURN QUERY SELECT.....
ELSEIF 'company' = $1 THEN
RETURN QUERY SELECT.....
ELSE
RAISE NOTICE 'Not Worked';
END IF;
RETURN;
END;
$$ LANGUAGE plpgsql;
Error: VARIADIC parameter must be the last input parameter.
字符串
在SQL代码IM应该使用6个参数。请更新我的示例代码。
3条答案
按热度按时间yiytaume1#
每个函数只能有一个
VARIADIC
,因为variadic包含了调用者传递的其他参数。如果你的意思是让调用者使用数组,那么无论如何使用variadic都没有意义,函数签名可能看起来像这样:
字符串
cnwbcb6i2#
错误消息告诉您:
VARIADIC参数必须是最后一个输入参数。
从逻辑上讲,一个函数只能接受单个
VARIADIC
参数。在这个参数之前 * 可以有其他(非VARIADIC
)参数。手册:实际上,
VARIADIC
位置处或VARIADIC
位置以外的所有实际参数都被收集到一个一维数组中pod7payv3#
下面是同样的错误:
错误:VARIADIC参数必须是最后一个输入参数
因为我没有使用
VARIADIC
参数nums
作为最后一个参数,如下所示:字符串
因此,我使用
VARIADIC
参数nums
作为最后一个参数,如下所示,然后解决了错误:型
doc在下面说:
该函数通过将最后一个参数标记为VARIADIC来声明;