1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

在初学Oracle时,我们需要导入数据到Oracle数据库,方法有很多种。在这里主要介绍通过sqllder从csv导入数据到Oracle的方法。让我们一起学习下。 一、关于CSV文件添加到Oracle的方法。我有一个EXCEL的文件Prize_VS.xls,由姓名、身份证编号、通信地址、邮政编码四列组成,在EXCEL中将Prize_VS.xls另存为Prize_VS.csv,现在来向我的Oracle服务器上的表增加数据。进行最后操作前,在Prize_VS.csv所在的目录下新建文本文件input.ctl,内容为:

loaddata 
  • infile'Prize_VS.csv' appendintotable方案名.Prize_VS
  • trailingnullcols (NAMEterminatedby",",
  • IDCARDterminatedby",", ADDREASSterminatedby",",
  • POSTALCODEterminatedby",")
  • 保存后在DOS方式进入input.ctl所在的目录下执行sqlldr命令:

    sqlldr用户名/密码@服务名control=input.ctl 
  • OK后可以在input.log文件中看到执行的具体记录,有问题的数据则集中在Prize_VS.bad,你可以在修改后继续上一步的操作,直到你满意为止。

    二、使用sqllder导csv文件时,如果某一栏位的值来源于sequence,在导入时该如何指定该栏位的值?

    比如,现在是使用sqllder从csv文件向表test导入数据,其中test有field_a, field_b, field_c三个栏位,并且field_c的值来源于sequence_field_c;那么控制文件可这样写:

    LOADDATA 
  • INFILE'C:\test.csv' TRUNCATEINTOTABLEtest
  • FIELDSTERMINATEDBY',' (field_a,field_b,field_c"sequence_field_c.nextval")
  • 本文来源:1818IP

    本文地址:https://www.1818ip.com/post/11542.html

    免责声明:本文由用户上传,如有侵权请联系删除!

    发表评论

    必填

    选填

    选填

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。