gpt4 book ai didi

PostgreSQL - 如何使用动态参数定义用户定义的函数?

转载 作者:行者123 更新时间:2023-11-29 13:19:33 31 4
gpt4 key购买 nike

据我所知,当您在 postgresql 中创建一个用户定义的函数时,您必须指定参数的数量和类型。像这样:

CREATE OR REPLACE FUNCTION my_add(xx INTEGER, yy INTEGER) 
RETURNS INTEGER AS
$$
BEGIN
RETURN xx + yy;
END;
$$
LANGUAGE plpgsql;


select my_add(12, 34);
output: 46

现在我想创建一个可以接收动态参数并像这样工作的函数:

select my_add(1, 2);
output: 3

select my_add(1, 2, 3);
output: 6

select my_add(10, 4, 5, 1);
output: 20

在定义函数时是否有一些方法可以定义动态参数?我怎样才能做到这一点?谢谢。

最佳答案

您正在搜索 variadic parameters ,例如:

CREATE FUNCTION mleast(VARIADIC arr numeric[]) RETURNS numeric AS $$
SELECT min($1[i]) FROM generate_subscripts($1, 1) g(i);
$$ LANGUAGE SQL;

关于PostgreSQL - 如何使用动态参数定义用户定义的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44299467/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com