易截截图软件、单文件、免安装、纯绿色、仅160KB

求助,ORACLE问题

我的三个表
SERV_CRM_IN_200908,SERV_CRM_IN_200907,SERV_CRM_IN_200906
我要写一个函数,根据传入的的SERV_ID取得该ID所对应的ysje字段三个月的平均值,请问该如何解决?
每一个表的sum(ysje)然后在返回时三个表相加,然后再除以3
 

不是的` 我主要是这个表名不确定,因为每个月都会有一张,每次都是取三个月的

噢,那么把三个表名传进去就可以了,改写一下:
SQL code:
create or replace function fun( v_serv_id in varchar2
, v_tbl_1 in varchar2
, v_tbl_2 in varchar2
, v_tbl_3 in varchar2)
return number
is
v_out number := 0;
v_tmp number := 0;
begin
begin
execute immediate 'select sum(ysje) from '||v_tbl_1||' where SERV_ID = '||v_serv_id
into v_out;
exception
when no_data_found then
v_out := 0;
end;
begin
execute immediate 'select sum(ysje) from '||v_tbl_2||' where SERV_ID = '||v_serv_id
into v_tmp;
exception
when no_data_found then
v_tmp := 0;
end;
v_out := v_out + v_tmp;
v_tmp := 0;
begin
execute immediate 'select sum(ysje) from '||v_tbl_3||' where SERV_ID = '||v_serv_id
into v_tmp;
exception
when no_data_found then
v_tmp := 0;
end;
v_out := (v_out + v_tmp) / 3;
return v_out;

{


相关问答:

linux + oracle用XP访问不了

我安装一台redhat linux5+oracle 10g的服务器,笔记本(XP系统)安装了oracle 10g客户端,结果老是出12560的错误,请高手指点一二,

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dpor ......

急寻Oracle ERP实施顾问

3-5人,工作地点上海浦东软件园,2-3年经验,英文流利,有意者请联系38954510-1355,15821699737,y.ming@live.cn
自己顶。。。

没有ORACLE ERP的经验,有用友和TIPTOP经验,英语说不好,看还是可以!
不知道有没有 ......

lomboz eclipse 中加入oracle的问题

在lomboz eclipse中的window->show view->others->中的怎样加入connectivity中的data source中连接oracle时只有8,9,10这三个版本,怎样才能连接oracle11这个版本呢??????????????


......

借水源人气!oracle job问题!在线等

我写的一个Job
declare
  job1 integer;
begin
  dbms_job.submit(job1,
    'Sale_FinanceUseFee(4,null,null,null);',
    TRUNC(SYSDATE)+1.103, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号