Oracle Bulk Import

前端 未结 2 1465
無奈伤痛
無奈伤痛 2021-01-24 10:14

Bulk Import in Oracle

I have created the table emp and I need to import bulk data from a file into emp

For Ex

CREATE TABLE emp

( c1 NUMBER,

          


        
相关标签:
2条回答
  • 2021-01-24 10:28

    Write a Control file, say emp.ctl

    load data
     options(direct=true)
    insert
     into table emp
    fields terminated by ',' optionally enclosed by '"' TRAILING NULLCOLS
     ( 
        c1 DECIMAL EXTERNAL,
        c2
    )
    

    Execute SQL*Loader as below.

    sqlldr userid=user/pass@db data=reports.csv control=emp.ctl 
    

    If you always want to refresh the table with your data completely. TRUNCATE the table and then load.

    SQL*Loader is great utility that provide numerous options for performance. Kindly go through the documentation about DIRECT and CONVENTIONAL loading.

    There's something called EXTERNAL tables, that might interest you as well. They use the flat file for the table data.

    0 讨论(0)
  • 2021-01-24 10:42

    You will have to use the inbuilt tool sql*loader to load data from external flat files into oracle.
    1. create a control file control.ctl

      load data
      infile 'reports.csv' 
      into table emp
      fields terminated by ',' optionally
      enclosed by '"'
      c1,c2
    

    2. data file is your reports.csv

    3.invoke sql*loader: $ sqlldr scott/tiger control=control.ctl
    Note: this is the name of the control file that you have made

    0 讨论(0)
提交回复
热议问题