Sql*load 5
(一)
表格
SQL> desc zp_5;
名称 是否为空? 类型
----------------------------------------- -------- ---------------
DEPTNO NUMBER
DNAME VARCHAR2(20)
LOC VARCHAR2(20)
LAST_UPDATED DATE
ENTIRE_LIN VARCHAR2(60)
SQL> select * from zp_5;
未选定行
(二)编辑控制文件:
E:\zp\sqlload>notepad ulcase5.ctl
LOAD DATA
INFILE *
INTO TABLE DEPT
REPLACE
FIELDS TERMINATED BY ','
TRAILING NULLCOLS // 其实下面的ENTIRE_LINE在BEGINDATA后面的数据中是没有
直接对应
// 的列的值的 如果第一行改为 10,Sales,Virginia,1/5/2000,, 就不用TRAILING
NULLCOLS了
(DEPTNO,
DNAME "upper(:dname)", // 使用函数
LOC "upper(:loc)",
LAST_UPDATED date 'dd/mm/yyyy', // 日期的一种表达方式 还有'dd-mon-yyyy' 等
ENTIRE_LINE ":deptno||:dname||:loc||:last_updated"
)
BEGINDATA
10,Sales,Virginia,1/5/2000
20,Accounting,Virginia,21/6/1999
30,Consulting,Virginia,5/1/2000
40,Finance,Virginia,15/3/2001
(三)运行
E:\zp\sqlload>sqlldr userid=scott/tiger control=ulcase5.ctl log=ulcase5.log
(四)结果显示
SQL> select * from zp_5;
DEPTNO DNAME LOC LAST_UPDAT ENTIRE_LINE
10 SALES VIRGINIA 01-5月 -00 10SalesVirginia1/5/2000
20 ACCOUNTING VIRGINIA 21-6月 -99 20AccountingVirginia21/6/1999
30 CONSULTING VIRGINIA 05-1月 -00 30ConsultingVirginia5/1/2000
40 FINANCE VIRGINIA 15-3月 -01 40FinanceVirginia15/3/2001
(五)模拟错误
在控制文件插入数据时,最后一行如果有回车行,它在提示信息中会提示“达到提交点,逻辑记录计数11”(4行数据,剩下全为回车)而在表格中能够成功插入4行数据,但是在log日志中会有
记录 5: 被废弃 - 所有的列均为空的。
记录 6: 被废弃 - 所有的列均为空的。
记录 7: 被废弃 - 所有的列均为空的。
记录 8: 被废弃 - 所有的列均为空的。
记录 9: 被废弃 - 所有的列均为空的。
记录 10: 被废弃 - 所有的列均为空的。
记录 11: 被废弃 - 所有的列均为空的。
表ZP_5:
4 行加载成功
由于数据错误, 0 行没有加载。
由于所有 WHEN 子句失败, 0 行没有加载。
由于所有字段都为空的, 7 行没有加载。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27151369/viewspace-740752/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27151369/viewspace-740752/