关于将数据从Oracle数据库通过程序导入到access数据库

来源:互联网 发布:电子视频制作软件 编辑:程序博客网 时间:2024/05/17 12:22

其中有一种比较理想的方法是将数据筛选出来之后,存入Oracle数据库的临时表里,然后再将这张临时表整个查出来,for循环一行进行对access数据库的插入。方便了很多,不再需要在后台进行大量的循环操作。代码如下:

Procedure DC_Select_DZSJ
 (
    p_errorCode out number--错误代码
 )
is
 begin
 p_errorCode := 0;
 delete from t1;
   insert into t1 (p_ksh,p_zkzh,p_kslbdm,p_kslbmc,p_xm,p_xb,p_mzdm,p_mz,p_byxxdm,p_zxmc,p_sf,p_sfzh,p_dz,p_yzbm,p_lxdh,p_kldm,p_kl,p_zf,ksh,p_zydm,p_zymc,p_xf)
  select p_ksh,zkzh,kslbdm,kslbmc,xm,xb,mzdm,mz,byxxdm,zxmc,'吉林省',sfzh,dz,yzbm,lxdh1,kldm,kl,zf,ksh,zydm,zymc,xf from
 ((select * from
(select ksh as p_ksh,(select zkzh from zkz where zkz.ksh=ks.ksh)as zkzh,kslbdm,
(select mc from zd where zdm='kslbdm' and ks.kslbdm=zd.bm) as kslbmc,xm,
(select mc from zd where zd.zdm='xbdm' and ks.xbdm=zd.bm)as xb,mzdm,
(select mc from zd where zd.zdm='mzdm' and ks.mzdm=zd.bm)as mz,byxxdm,
(select zxmc from xx where xx.zxdm=ks.byxxdm)as zxmc, sfzh,dz,yzbm,lxdh1,kldm,
(select mc from zd where zd.zdm='kldm' and ks.kldm=zd.bm)as kl,
(select zf from cj where cj.ksh=ks.ksh)as zf from ks where ks.sflq='1') a1
 left join
(select distinct ks.ksh,lq.zydm,zymc,jh.xf from lq,jh,ks where lq.ksh=ks.ksh and jh.zydm=lq.zydm) a2
 on a1.p_ksh =a2.ksh));
 end DC_Select_DZSJ;

用了insert into的方法进行临时表的插入,学会了新的插入方法:insert into (字段) select  字段  from 表;还有左连接以及对select[字典]的理解;

insert into t_tdd
    (
     t_tdd.kl,
     t_tdd.cj,
     t_tdd.zy_zydm,
     t_tdd.zy_zymc,
     t_tdd.cw_xf)
   (
   select
      t1.p_kl,
      t1.p_zf,
      t1.p_zydm,
      t1.p_zymc,
      t1.p_xf from t1);
     commit;


阅读全文
0 0
原创粉丝点击