oracle load命令与ctl写法

//表示需要sql loder 加载数据。sqlloader运行控制脚本看到词语就回去加载
load data
//表示在当前目录中加载数据,infile表示数据文件在哪儿
infile '2.txt'
//已何种方式上传数据,append表示追加到列表中;此外还有insert、replace方式
append into table t_succ_orders
// 指定导入分隔符,拆分字段
fields terminated by '\t'
// 如果要导入源文件此列表为空,在导入到数据库表中,此列内容就是null
trailing nullcols
(
mobile,
area_code,
area_name,
package_code,
package_type,
package_name,
price,
channel,
// to_timestamp Oracle函数(转换时间格式)
order_time "to_timestamp(:order_time,'yyyy-mm-dd hh24:mi:ss')",
start_time "to_timestamp(:start_time,'yyyy-mm-dd hh24:mi:ss')",
end_time "to_timestamp(:end_time,'yyyy-mm-dd hh24:mi:ss')",
id "seq_succ_order_id.nextval"
)

两种插入模式:
一种是利用sql的插入语句,而另一种则是直接格式化数据库的块;

sqlldr userid=psbc/psbc control=load.ctl log=1.log rows=1000

直接加载的方式:绕过sql引擎和undo的生成,而且也不生成redo,这样做是最快的加载方式;
注:

  • direct为直接加载

  • parallel为并行加载

sqlldr psbc/psbc control=load.ctl direct=true parallel=true

sqlldr中不支持varchar2
oracle建表语句中varchar会自动改成varchar2

你可能感兴趣的:(oracle,oracle)