|
|
atgc 发表于 2012-9-14 08:20 ![]()
嗯,我说“原则上,绝不在自定义函数里使用SELECT语句”
如果在自定义函数里使用SELECT语句,那么假设 ...
自定义函数里面不用select,那要这个函数能干嘛呢?求解。
例如:这个简单的函数,怎么通过不用select 实现。
CREATE OR REPLACE FUNCTION GetAvgValueForDashboard6_col
(
iv_month in varchar2,
billing_type in varchar2,
iv_total_value in number
)
return number
IS
avg_value number;
total_number number;
number_flag number;
BEGIN
avg_value :=0;
select count(*) into number_flag
from lbikr_bravo.tb_kr_dashboard_1_month t
where t.statis_date=iv_month
and instr(billing_type,t.billing_group_type)>0;
if number_flag>0 then
select sum(t.average) into total_number
from lbikr_bravo.tb_kr_dashboard_1_month t
where t.statis_date=iv_month
and instr(billing_type,t.billing_group_type)>0;
avg_value := iv_total_value/total_number;
end if;
return avg_value;
END; |
|