一、sqlldr資料載入簡單示例
1. 建立示例資料表
create table ts_user (
id varchar2(20),
user_name varchar2(30),
password varchar2(50),
*** char(1),
create_time date )
2. 在e盤下建立控制檔案data.ctl,內容如下:
load data
infile'data.txt'
ts_user
fields terminated by','
(id, user_name, password)
3. 在e盤下建立資料檔案data.txt,內容如下:
1,tuozixuan,123456
2,wengpeng,password
4. 把資料檔案data.txt中的資料載入到本地資料庫中
sqlldr userid=scott/[email protected]/orclcontrol=data.ctl
二、sqlldr命令主要引數
userid:oracle使用者名稱/密碼
control:控制檔名
data:資料檔名
log:日誌檔名
bad:錯誤檔名
skip:要跳過的邏輯記錄的數目(預設為0)
load:要載入的邏輯記錄的數目(預設全部)
sqlldr userid=scott/[email protected]/orcl control=data.ctl data=data.txt log=log.log bad=bad.log skip=1 load=1
三、控制檔案說明
1. load data
控制檔案標識
2. infile 'data.txt'
指定要匯入的資料檔案為data.txt
如果使用infile *,表示要匯入的資料就在control檔案裡面,即begindata後面的內容。
指定資料要載入到那張表中,載入方式有下面幾種:
insert:把資料載入到空表中,如果原表中有資料則會停止載入,該項為預設值
replace:如果原表中有資料,則會全部刪除
truncate:如果原表中有資料,則會用truncate語句刪除
4. fields terminated by ','
指定資料的分割符
fields terminated by whitespace:以空白分割
fields terminated by x'09':以製表符分割
trailingnullcols:表示字段沒有對應值時允許為空
5. (id, user_name, password)
表的字段
問題:1. sql*loader-601: for insert option, table must be empty. error on table ts_user
Oracle中使用sqlldr載入資料
示例1.建立示例資料表 create table ts user id varchar2 20 user name varchar2 30 password varchar2 50 char 1 create time date 2.在e盤下建立控制檔案data.ctl,內容如下 load data...
使用sqlldr命令向Oracle匯入資料
前兩天,碰到了乙個需求,需要把 txt 的資料匯入到oracle資料庫中,現在記錄一下 要匯入的檔案是 lcb rccr.txt 裡面內容如下 000000000146 20110710 000050000036 00005 20110710 010001 06362038 20000.00 江陰市...
oracle中使用序列
場景 在開發中資料庫主鍵id設計為number型別了,因此不能使用uuid進行隨機生成id,那麼現在使用oracle的序列自動生成吧。首先建立序列 create sequence seq case studyid minvalue 1 最小值 maxvalue 999999 最大值 start wi...