求助,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;
{
相关问答:
日前用oci函数查询oracle数据时出现个问题,就是在查询到date类型的数据时,使用pl/sql 查询oracle库中的数据显示是
2009-9-29 12:12:12
但是通过语句select * from tablename 查询,使用oci_fetch_array() ......
我对SQL SERVER和ACCESS比较熟,所以数据库的通用基础东西可以说都掌握的差不多了,我现在想要的就是以上两数据库的独特之处的介绍和应用介绍。
另外书最好对应最新版本 oracle是11g吧 10的也行;mysql是5.1吧
谢 ......
oracle not available
shared memory realm does not exist
请问高手这个问题如何解决?
http://www.inthirties.com/thread-109-2-1.html
指定下ORACLE_SID,ORACLE_HOME看看,不行就用1楼得方法了..
cm ......
在lomboz eclipse中的window->show view->others->中的怎样加入connectivity中的data source中连接oracle时只有8,9,10这三个版本,怎样才能连接oracle11这个版本呢??????????????
......
大家好,在开发的时候,遇到这样的问题:
未能加载文件或程序集“Oracle.DataAccess, Version=10.1.0.200, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项。系统找不到指定的文件。 ......