CREATE procedure p_relation (cat varchar2 , qty integer, infoid integer)
as
begin
select r.ig_infoid, sum(dbo.f_getMin(r.ig_frequency, v.ig_frequency)) relation   
from SpectrumIndex as r, InfoPageMaping as i, dbo.f_getWordIDs(infoid) as v
where i.frequency> qty*0.4 and i.frequency < qty*1.6 and r.ig_infoid = i.ig_infoid and i.ig_cat = @cat and r.ig_wordid=v.ig_wordid 
and v.ig_infoid=infoid and  r.ig_infoid <>infoid
and i.isSimilar=0 and i.similared = 1
group by r.ig_infoid
having sum(dbo.f_getMin(r.ig_frequency, v.ig_frequency))>=qty*0.4
end;其中的dbo.f_getMin用自己定义的函数解决