如何在oracle中创建一个函数,其中我不知道输入参数的数量

时间:2013-06-19 05:39:23

标签: sql oracle oracle10g

我想创建一个计算非零平均列(连续)的函数。但我不知道如何将列作为参数传递给该函数,因为我不知道参数的数量,可以从1到50之间变化。

喜欢最大/最少的功能。

1 个答案:

答案 0 :(得分:2)

有2个选项

第一个 你需要2个参数: 1.用于平均计算的表名 2. xmltype或varchar2或包含字段列表的clob 3.表格中行的ID

下一步,您将创建动态sql,它可以在临时表或集合中从表序列中提取和插入值,并计算序数AVG。

第二个: 只有一个参数 - 数字表(我的意思是集合),你自己填充并计算平均值。

如果您喜欢愚蠢的解决方案,请在包中创建50个重载函数,参数数量从1到50。