首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sql-loader跳过最后一条记录?

如何使用sql-loader跳过最后一条记录?
EN

Stack Overflow用户
提问于 2016-05-18 11:50:05
回答 3查看 9.4K关注 0票数 1

我们正在使用平面files.but如何跳过平面文件中的最后一条记录。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-19 04:00:43

如果您的尾部记录总是以T开头,请在ctl文件中使用以下内容!我已经有一段时间没有测试它了,但上次我使用加载临时表时,它对我很有效。

代码语言:javascript
复制
    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);
票数 1
EN

Stack Overflow用户

发布于 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

票数 1
EN

Stack Overflow用户

发布于 2016-05-19 23:22:25

您的原始帖子需要更多细节,但为了完整性,控制文件选项子句有一个load =n选项,它告诉sqlldr要加载多少行。如果您有100行,并且不想加载最后5行,请指定load = 95。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37289959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档