码迷,mamicode.com
首页 > 其他好文 > 详细

脚本 批量修改 3千条 表数据 客户只提供一个Excel

时间:2015-02-06 17:03:29      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

 Demo;
                  -- 一 标题 pl/sql Excel 转 oracle 表
  -- 1.1 pl/sql tools -odbc importer - Data from ODBC - User/System DSN 
    --  选择 Excel Files -Connect -选择excel(注意Excel头可以和创建表的字段保持一致Fields直接对应)
   --  1.2 Data to Oracle - Table-选择需要导入的表(注意:表可以用pl/sql工具直接创建);
   --  1.3 点击Import 数据导入完毕; 
   --  1.4 导出创建表脚本已经数据; 
 --表  
create table ZXZ_YUNZUO_HETONG
(
  PURCHASE_ORG      VARCHAR2(255),
  AGREEMEN_NO       VARCHAR2(255),
  AGREEMENT_NAME    VARCHAR2(255),
  RECEIVABLES_COUNT VARCHAR2(255),
  RECEIVABLES_NAME  VARCHAR2(255),
  RECEIVABLES_BANK  VARCHAR2(255),
  COST_CENTER       VARCHAR2(255),
  UNIT_PRICE_SINGLE VARCHAR2(255)
); 
--数据
insert into ZXZ_YUNZUO_HETONG (PURCHASE_ORG, AGREEMEN_NO, AGREEMENT_NAME, RECEIVABLES_COUNT, RECEIVABLES_NAME, RECEIVABLES_BANK, COST_CENTER, UNIT_PRICE_SINGLE)
values (‘755Y‘, ‘2015012500113‘, ‘深圳区顺通运作外包服务合同‘, ‘44201587700052521432‘, ‘深圳市顺通装卸服务有限公司‘, ‘中国建设银行股份有限公司深圳创业支行‘, ‘755W‘, ‘4300‘);
等等....
   
                    二 修改脚本 
 --批量修改zxz_test表                   
                    update zxz_test t set (t.RECEIVABLES_COUNT,T.RECEIVABLES_NAME,T.RECEIVABLES_BANK)
=(select tt2.RECEIVABLES_COUNT,tt2.RECEIVABLES_NAME,TT2.RECEIVABLES_BANK from zxz_yunzuo_hetong tt2 
where tt2.agreemen_no = t.agreemen_no) --tt2.agreemen_no 必须唯一 因为tt2.agreemen_no 找一个t.agreemen_no对应
--条件 如果存在就修改  --如果不加此条件 问题来了 
WHERE EXISTS(select 1 from zxz_yunzuo_hetong tt2 where tt2.agreemen_no = t.agreemen_no);

            三
   --删除临时表
   drop table ZXZ_YUNZUO_HETONG;

请大家多提建议; 有任何问题可以给我留言;

    第一次写博客,希望大家多多指教;

脚本 批量修改 3千条 表数据 客户只提供一个Excel

标签:

原文地址:http://my.oschina.net/u/1189378/blog/376167

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!