oracle通过load data 将数据导入表中通过存储过程进行批量处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyu1059915776/article/details/83448591

说明:虽然没图,但文字表述很清楚,自己做过的项目留着备用(这只是初版,比较繁琐,但很明确)

准备工作做完之后,后期可直接使用。如后期excel数据有变更,只需改动对应的部分即可,不涉及改动的可直接使用。

实际操作步骤

  1. 依照excel数据模版格式准备好建表语句,将中间过渡表在对应12家村行数据库中分别建立。(二步骤中的第2小步)
  2. 将excel补录数据转换成txt文件导入中间过渡表。(二步骤中的第3小步)
  3. 将提前准备好的存储过程导入各村行对应数据库。(四步骤中的2小步)
  4. 各家村行执行导入的存储过程。(三步骤中的5小步)
  5. 完毕

注意:12家行数据库独立登录,需切换用户分别登录,建议一家行执行完全部脚本再切换。

  • 准备阶段(以(100)的贷款投向(1001)为例)
  1. 将对应Excel文档转为.csv格式(必须严格按照下图顺序操作)

原始数据:

 

点击“WPS表格——》另存为——》(选择你存储的位置,后续做处理)”下图红框需格外注意,文件类型必须为“CSV(逗号分隔)”,然后保存。

 

出现下图标识点击“确定”:

 

 

到此Excel转.CSV文件结束。

  1. 将.csv文件转为.txt文件

找到刚转的.CSV文件:

 

给该文件加前缀(dhcc_),改后缀(.txt),出现下图提示点击“是”。

 

打开刚刚修改的文件,格式如下:(注意将红框那一行去掉,否则影响后期操作和数据的准确性)

 

下图数据属于正常数据。

 

到此,.CSV文件转为.txt文件结束。

  1. 建立和dhcc_1001.txt对应中间过渡表:(注意字段长度和类型)

 

  1. 建立和dhcc_1001.txt、中间过渡表dhcc_1001对应的dhcc_1001.ctl文件(dhcc_1001.txt和dhcc_1001.ctl这俩文件路径需一致)注意图中描述

 

  1. 建立在管理员窗口中调用dhcc_1001.ctl的命令

 

6.将中间过渡表的数据更新到对应数据库的表中(这里更新了合同表、申请表、台账表)

 

重复1——》6的步骤,将12家行所有Excel转换为“.txt”文件。建立对应的建表语句。建立“.txt”文件对应的“.ctl”文件和调用“.ctl”文件的管理员窗口命令。

  1. “将中间过渡表的数据更新到对应数据库的表中”的SQL语句和其他(无法进行批量处理的)SQL语句整合到一起(12家行分开)

下方的other.sql文件包含所有(100)需处理的数据,下方有其他数据没截全。

 

 

到此,前期准备工作都已做完。

二.将补录数据导入中间过渡表

1.登陆对应数据库:(比如(100))

 

  1. 将写好的建表SQL在对应(100)库中执行

 

  1. 往中间过渡表中导入补录数据

找到对应(100)的命令语句:(下图只是实例,具体参照实际做相应修改)。

 

 

在Windows系统的运行程序中输入“cmd”,回车:

 

将命令语句复制,然后在管理员窗口中点击鼠标右键——》粘贴——》回车,即可将对应补录数据直接导入到对应中间过渡表中。

注意:每次只能执行一条“sqlldr”,一条一条复制、粘贴。每家行执行该命令前必须先将对应中间过渡表建立。

 

到此,中间过渡表的补录数据导入完成

 

  • 建立和使用存储过程
  1. 登陆到对应行(100)的数据库,找到Procedures文件,右键——》新建

                          

 

如下图:

 

  1. 点击确定,在begin和end之间将“准备阶段的第7小步”中的脚本粘贴进来

 

  1. 如下图,点击执行按钮,即可编译,待编译完成,存储过程也就建立成功

(提示:脚本后需加commit,否则当存储过程执行完需手动提交)

 

  1. 刷新Procedures文件,会出现刚刚建立的存储过程

                       

  1. 选中存储过程“other”,右键——》测试,点击红框中的执行按钮,该存储过程即可执行

 

 

到此,存储过程的建立和使用已结束。

  • 导出和导入存储过程:每个行建一个存储过程
  1. 导出存储过程:将刚刚建立的存储过程other导出到本地

工具——》导出用户对象——》选中该存储过程——》选择导出路径——》导出

 

  1. 导入存储过程:将刚刚导出的存储过程导入到数据库

工具——》导入表——》SQL插入——》在导入文件下方选择本地的存储过程——》导入

存储过程导入之后就可在Procedures文件下找到该存储过程。如果需执行该存储过程,进行“三步骤中的第5小步”操作即可。

 

 

 

猜你喜欢

转载自blog.csdn.net/liyu1059915776/article/details/83448591