Oracle的用户定义聚合函数是否可以定义为使用两列?

时间:2015-07-15 15:29:29

标签: oracle

我想实现一个自定义回归聚合函数,它类似于现有的REGR_SLOPE

我想要定义的函数需要将两列作为参数,例如

select 
   T.EMPLOYEE_ID,
   CUSTOM_REGR_SLOPE(T.DATE, T.SALARY) as SALARY_TREND
from (...) T
group by T.EMPLOYEE_ID;

Oracle的文档表明这可能是不可能的,但我可能不善于阅读这些内容;-)。

我们使用Oracle 12。

1 个答案:

答案 0 :(得分:2)

Oracle's documentation并不表示可能无法做到,它说明了这一点:

  

限制使用的聚合   如果指定此子句,则只能为该函数指定一个输入参数。

正如其他人所说,一个输入参数可以是对象类型或集合等。但是你不能像你展示的那样简单地定义自己的聚合函数CUSTOM_REGR_SLOPE(T.DATE, T.SALARY)