ITPub博客

首页 > 数据库 > Oracle > 历史数据迁移,函数抽取数据问题多

历史数据迁移,函数抽取数据问题多

原创 Oracle 作者:lucy_itliu 时间:2014-08-26 17:14:23 0 删除 编辑
create or replace function FN_QY_IMPORT(year in VARCHAR2,
 jq_table_name in varchar2)
  return varchar2 is
   TYPE myCur IS REF CURSOR;
  RLT         varchar2(32765);
  str_field varchar2(2000);
  v_field  varchar2(200);
   cur_field  myCur;
     str_RIMS_field varchar2(2000);
  v_wlbm  varchar2(200);
   v_zdm  varchar2(200);
   cur_RIMS_field  myCur;
   str_insert  varchar2(2000);
str_insert_sele  varchar2(2000);
  V_ERRORCODE number;
  V_ERRORMSG  varchar2(6000);
begin
  --循环指定年度久其数据表的字段
str_insert:='';
str_insert_sele:='';
  str_field:='select s.COLUMN_NAME from user_tab_columns s where s.TABLE_NAME='''||' GOV_'||year||'DATA_'||jq_table_name||'''';
 open cur_field for str_field;
 loop
 fetch cur_field
 into v_field;
 exit when cur_field%notfound;
 v_wlbm:='';
 v_zdm:='';
 str_RIMS_field:=
 'select q.wlbm,q.zdm  from gov_ql_jtt_4 q where q.jqbm='''||jq_table_name||''' and q.year'||year||'='''||v_field||'''';
 open cur_RIMS_field for str_RIMS_field;
 loop
 fetch cur_RIMS_field
 into v_wlbm,v_zdm;
 exit when cur_RIMS_field%notfound;

 end loop;

 
 if v_wlbm is null or v_zdm is null then
   RAISE_APPLICATION_ERROR( -20001, '久其表:'||jq_table_name||','||year||'年的'||v_field||'字段未在配置表中定义。');
 end if;
 str_insert:=str_insert||','||v_zdm;
 str_insert_sele:=str_insert_sele||','||v_field;
  --每个字段在对应关系表中找到RIMS对应的表和字段
  --拼出insert语句
  --结束循环
  end loop;
   str_insert:='insert into '||v_wlbm||'( '||substr(str_insert,2)||') select  '||substr(str_insert_sele,2)||' from '||' GOV_'||year||'DATA_'||jq_table_name;
 str_insert:='insert into '||v_wlbm||'( '||substr(str_insert,2)||') select  '||substr(str_insert_sele,2)||' from '||' GOV_'||year||'DATA_'||jq_table_name;     ----有问题


 RLT := str_insert;
return RLT;
exception
  when others then
    V_ERRORCODE := sqlcode;
    V_ERRORMSG  := sqlerrm;
     RLT        := TO_CHAR(V_ERRORCODE) || V_ERRORMSG;
  return RLT;
 end FN_QY_IMPORT;




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29111203/viewspace-1258131/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-08-11

  • 博文量
    1
  • 访问量
    6024