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

本文介绍了如何将数据从Oracle数据库高效地导入到Access数据库,主要方法是利用Oracle的临时表,通过for循环一行行插入数据,简化了后台操作。分享了具体的PL/SQL代码示例,包括使用INSERT INTO SELECT结合左连接以及对字段查询的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其中有一种比较理想的方法是将数据筛选出来之后,存入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;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值