关于如何写oracle的function欢迎大家来讨论(参与有分)
本人想写一些oracle的function,主要的功能类似于oracle内部的function,能够在sql语句内使用。
例如:
SQL> select * from test1;
ID ZYZ1 P1 DOCTIME
---------- --------------- ---------- -------------------
24 dfdf
27 as 2002-05-01 10:12:00
28 as 2002-08-20 15:22:27
23 df0
SQL> select zyz1 ,max(id) from test1 group by zyz1;
ZYZ1 MAX(ID)
--------------- ----------
df0 23
dfdf 24
as 28
如何自己写一个function实现oracle的max的功能。
其实我的本意是想写求secondmax,thirdmax,fourthmax的function。
实现下面的效果:
SQL> select zyz1 ,secondmax(id) from test1 group by zyz1;
ZYZ1 SECONDMAX(ID)
--------------- ----------------
df0 23
dfdf 24
as 27
如果能得到oracle内部的function的原码,参考一下也行!!!
请不要讨论通过其他的方法实现,因为我已经实现了,只是在生成report的时候太慢了。
谢谢了,肯定接贴。