如何创建两个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个参数。请用示例代码更新我。
发布于 2013-10-09 15:32:20
每个函数只能有一个VARIADIC,因为变量包含调用方传递的其他参数all。
如果您的意思是调用方使用数组,那么无论如何使用variadic是没有意义的,函数签名可能如下所示:
CREATE FUNCTION ip_source_test(text,text,date,date,int[], text[])发布于 2013-10-09 15:38:47
错误消息告诉您:
VARIADIC参数必须是最后一个输入参数。
从逻辑上讲,一个函数只能接受一个VARIADIC 单一参数。在该参数之前可以有其他(非VARIADIC)参数。手册:
实际上,所有位于或超过
VARIADIC位置的实际参数都被收集到一个一维数组中。
https://stackoverflow.com/questions/19275206
复制相似问题