如何写Oracle create function(200分)

  • 主题发起人 主题发起人 weisian
  • 开始时间 开始时间
W

weisian

Unregistered / Unconfirmed
GUEST, unregistred user!
我想从Oracle的资料库做一些统计功能.除了STDDEV,AVERAGE之外,还须用到Percentile,Median之类的功能.

请问哪位高手能指点在Oracle create function,写一个类似STDDEV, AVERAGE的统计功能(function)程式.
 
1> 首先在ORACLE的SQL*Plus中(其他的文本編緝器也可)建立的函數或過程(*.sql)
2> 在ORACLE中編譯通過(@命令)
3> 在DELPHI中建立StoredProc控件﹐即可調用*.sql中的函數或過程。


請大家指正。
 
在 Oracle 可以自制SQL function (如果我没弄错), 用creation
function 写一个小程式,然后放在schema 的 function 里。
在每次query时就可以调用。

我想做个percentile function,以便可以象STDDEV那么用法:
SELECT stddev(field1),stddev(field2) from Database1
GROUP BY xxxx

希望ORACLE高手能指示或提供类似stddev function的程式写法。
 
as easy as pie.

in the user's schema:
create or replace function stddev
as
....
begin
...
.....

end;

 
I need some sample source code. If not something similar
to the built-in function like stddev or avg will do. PL/SQL
is kind of alien to me.

Thanks
 
create or replace function avg return number as
x out number;
begin
select sum(field1)/count(field1) into x
from table where field1 is null;
return x;
end;
 
其实ORACLE中的函数功能很强,
你的问题至少有80%可能是ORACLE已经实现了的。
建议你仔细看看ORACLE的HELP或相关的书籍。

若实在没有,可以在ORACLE中创建STORE PROCEDURE,
它也可以实现类似的功能。
 
要学OraclePL/SQL 真不简单.还好从Oracle论坛一位德国老兄的
帮忙, 把这统计percentile function写成了.
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部