我们正在使用平面files.but如何跳过平面文件中的最后一条记录。
发布于 2016-05-19 04:00:43
如果您的尾部记录总是以T开头,请在ctl文件中使用以下内容!我已经有一段时间没有测试它了,但上次我使用加载临时表时,它对我很有效。
LOAD DATA
INFILE 'file.dat' BADFILE 'file.bad' DISCARDFILE 'file.dis'
APPEND
INTO TABLE tablename
-- This will skip the tail record
WHEN (01) <> 'T'
(
column names);发布于 2016-05-18 12:37:34
您可以使用skip子句跳过标题行,但要跳过最后的记录,则必须使用WHEN子句。通常,您的尾随记录(最后一条记录)将与文件中的其他记录不同,并且应该有一个指示器来指定这是尾随记录。您需要在控制文件中构造这样一个条件,使此条件不能得到满足。
下面是关于WHEN子句的Oracle文档。
http://docs.oracle.com/cd/B14117_01/server.101/b10825/ldr_control_file.htm#i1005657
这里有一些关于条件加载的例子。
http://www.orafaq.com/wiki/SQL*Loader#Conditional_Load
发布于 2016-05-19 23:22:25
您的原始帖子需要更多细节,但为了完整性,控制文件选项子句有一个load =n选项,它告诉sqlldr要加载多少行。如果您有100行,并且不想加载最后5行,请指定load = 95。
https://stackoverflow.com/questions/37289959
复制相似问题