gpt4 book ai didi

oracle - 如何编写PL/SQL函数具有与最大函数相似的参数

转载 作者:行者123 更新时间:2023-12-04 04:07:09 24 4
gpt4 key购买 nike

在Oracle/PLSQL中,最大函数在表达式列表中返回最大值。最大功能的语法是

greatest( expr1, expr2, ... expr_n )). 

我该如何用unlimit参数编写函数,如下所示:
myfunction(param1 , param2,...param_n)

最佳答案

您可以使用表类型作为参数来模拟var args。

create or replace type VARGS as table of varchar2(32767);

然后,您可以将此类型用作函数的最后一个参数:
CREATE OR REPLACE Function FNC_COUNT_WITH_NAMES
( P_NAMES IN VARGS )
RETURN number
IS
RT_COUNT NUMBER;
BEGIN
select count(*) INTO rt_count from employees where name IN
(
select * from TABLE(p_names))
);
return rt_count;
END;

客户代码将使用以下代码调用它:
exec FNC_COUNT_WITH_NAMES (vargs('Brian','Mike','John','David', 'Bob'));

或者
select FNC_COUNT_WITH_NAMES (vargs('Brian','Mike','John','David', 'Bob')) from dual;

关于oracle - 如何编写PL/SQL函数具有与最大函数相似的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9475639/

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