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

 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;

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

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

时间: 2024-10-10 06:48:21

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

利用shell脚本批量修改表

最近公司里因为开发新功能,程序员需要快速在某一个库里的所有表添加字段,于是就用shell脚本简单快速实现批量修改表添加字段 #!/bin/bash export mysql_bin=/usr/local/mysql/bin export database=database export tables=`$mysql_bin/mysql -Bse "use ${database};show tables;"` for i in ${tables}         do          

MySQL数据库批量修改数据库中的表

问题:今天工作遇到这样一个问题,需要把数据库中的所有表,每个表加入四个字段,如果表少,我们可以手动去添加或者修改,如果是成千上百万张表的话,我们如何去修改,现记录下来. 解决方法: 找到数据库的建模资料,就是PDM文件.发个截图 下面我们就要用一个工具了,就是powerdesign,我们将用这个工具批量修改数据库表中的字段.需要用vb脚本. 我们打开powerdesign,点开脚本运行栏,方法,工具--如图 点击后的运行脚本框如下写好的脚本放在上面运行即可. vb语法 Option Explic

python脚本批量修改华为交换机端口配置

用python写的,主要是telnetlib库的应用,华为交换机批量修改端口配置,把已经UP的端口做一个port sec的mac sticky绑定,DOWN的端口,就clear配置信息. 使用前,先在交换机上 dis int bri,查出交换机的端口状态信息并复制到此脚本同目录下,以 IP.txt这样的格式命名的文件(比如 192.168.0.1对应 192.168.0.1.txt),以下内容记得把IP跟账号密码改成自己的. import sys,os,telnetlib,re ip = '你的

用PL/SQL DEVELOPER把表数据复制到另一个表中

1.创建新表,business_copy,并复制bisiness表的数据 CREATE TABLE BUSINESS_COPY AS SELECT * FROM BUSINESS; 注释:此SQL语句只是创建了表和复制了表的数据,但是没有把表的约束复制过来. 2.在PL/SQL DEVELOPER删除表 例如删除表business,可执行一下操作, 1)DROP TABLE BUSINESS; 2)找到此表,单击右键,选择跨界删除操作. 3.在PL/SQL DEVELOPER快速创建表. 4.如

利用Sql实现将指定表数据导入到另一个数据库示例

因为工作中经常需要将数据从一个数据库导入到另一个数据库中,所以将这个功能写成一个存储过程,以方便调用.现在粘贴出来供大家参考: 注意:1,以下示例中用到了syscolumns,sysobjects等系统视图,在sql2005及以后的版本中,大家也可以使用sys.columns与sys.objects来代替,只要修改对应的字段即可.2,以下示例还用到了set identity_insert设置,有对该设置不太清楚的朋友可以点击链接查看其用法.3,结合sys.tables表与游标,大家可以循环调用以

利用脚本批量修改h3C交换机super3的密码

因安全规则要求,必须定期修改交换机密码, 而交换机数量多,所以配置了一个脚本远程自动修改. 脚本命令如下: # $language = "VBScript"# $interface = "1.0" ' Connect to an SSH server using the SSH2 protocol. Specify the' username and password and hostname on the command line as well as' some

Oracle 批量修改某个用户下表的表空间

说明:一般来说要修改表的表空间需要同时修改表的表空间和其对应的索引表空间,并且在修改含有BOLB字段的表的表空间时又不一样,具体请参考末尾的链接 思路:拼凑一个满足条件的批处理查询语句,将查询的结果复制出来作为批处理语句执行.具体步骤如下: 1.写查询 --查询某个用户下的表,并生成一个修改其命名空间的批处理语句 select 'alter table '|| table_name ||' move tablespace 要迁入的表空间;' from dba_tables t where t.o

Shell脚本批量修改文件编码为UTF-8

主要使用iconv cat b |while read line do iconv -f gbk -t utf8 $line > a [[ $? -ne 0 ]] && { echo $line } mv a $line done b文件中存放着需要修改的文件路径 可多个文件路径,每行一条路径 原文地址:https://www.cnblogs.com/hkgov/p/12573846.html

shell 脚本 批量修改文件名

修改文件名前 #!/bin/bask # for a in $( ls /etc/yum.repos.d/CentOS* );do if [ $a != '/etc/yum.repos.d/CentOS-Media.repo' ];then #CentOS-Media.repo的文件名不修改 mv $a $a.bak #给文件加上后缀 .bak fi done 测试: 删除文件后缀 .bak#!/bin/bask # for a in $( ls /etc/yum.repos.d/Cent* )