SQLLDR字段FILLER属性

[Oracle] SQL*Loader 详细使用教程(5)- 典型例子 本文介绍SQL*Loader在实际使用过程中经常用到的典型例子。 1. 表中的列比数据文件的列要少怎么办? 假设一个csv的文件如下: a1,a2,a3,a4 b1,b2,b3,b4 c1,c2,c3,c4 d1,d2,d3,d4 总共4列,先要求只要第2、3列数据,怎么办呢?这时候,FILLER(注意:不是FILTER)参数派上用场了,控制文件如下所示: load data i 阅读详情

A filler field, specified by BOUNDFILLER or FILLER is a data file mapped field that does not correspond to a database column.

Filler fields are assigned values from the data fields to which they are mapped:

  1. The syntax for a filler field is same as that for a column-based field, except that a filler field's name is followed by FILLER.
  2. Filler fields have names but they are not loaded into the table.
  3. Filler fields can be used as arguments to init_specs (for example, NULLIF and DEFAULTIF).
  4. Filler fields can be used as arguments to directives (for example, SIDOIDREF, and BFILE).
  5. To avoid ambiguity, if a Filler field is referenced in a directive, such as BFILE, and that field is declared in the control file inside of a column object, then the field name must be qualified with the name of the column object. This is illustrated in the following example:

LOAD DATA

INFILE *

INTO TABLE BFILE1O_TBL REPLACE

FIELDS TERMINATED BY ','

(

    emp_number char,

    emp_info_b column object

    (

    bfile_name FILLER char(12),

    emp_b BFILE(constant "SQLOP_DIR", emp_info_b.bfile_name) NULLIF emp_info_b.bfile_name = 'NULL'

    )

)

BEGINDATA

00001,bfile1.dat,

00002,bfile2.dat,

00003,bfile3.dat,

  1. Filler fields can be used in field condition specifications in NULLIFDEFAULTIF, and WHEN clauses. However, they cannot be used in SQL strings.
  2. Filler field specifications cannot contain a NULLIF or DEFAULTIF clause.
  3. Filler fields are initialized to NULL if TRAILING NULLCOLS is specified and applicable. If another field references a nullified filler field, then an error is generated.
  4. Filler fields can occur anyplace in the data file, including inside the field list for an object or inside the definition of a VARRAY.
  5. SQL strings cannot be specified as part of a filler field specification, because no space is allocated for fillers in the bind array.

Note:The information in this section also applies to specifying bound fillers by using BOUNDFILLER. The only exception is that with bound fillers, SQL strings can be specified as part of the field, because space is allocated for them in the bind array.

A sample filler field specification looks as follows:

field_1_count FILLER char,

field_1 varray count(field_1_count)

(

   filler_field1  char(2),

   field_1  column object

   (

     attr1 char(2),

     filler_field2  char(2),

     attr2 char(2),

   )

   filler_field3  char(3),

)

filler_field4 char(6)

SQLLDR——CTL文件:字段设置 position 关键字用来指定列的开始和结束位置   position(m:n):指从第 m 个字符开始截止到第 n 个字符作为列值   position(*+2:15):直接指定数值的方式叫做绝对偏移量,如果使用*号,则为相对偏移量,表示上一个字段哪里结束,这次就哪里开始,相对便宜量也可以再做运算。   position(*) char(9):这种... 阅读详情

相关推荐

sqlldr命令:将文本格式数据导入到数据库

第一步:写一个 ctl格式的控制文件 LOAD DATA -- 控制文件标识 CHARACTERSET 'UTF8' -- 格式统一utf8 INFILE '/u01/mbd/dy_channel.txt' -- 要导入的数据文件名(提前把这txt文...

学习小天地 1512

sqlldr语法

在北信的时候学习sqlloader的笔记,留着查询用。现在基本忘记上大学的日子了。 控制根据数据不同插入不同的表(条件装载); FIELDS TERMINATED BY x’09′ (制表符)whitespace(空格)等不同的数据分隔符号 装载定长数据; 装载变长数据; 装载嵌套数据; 在sqlldr中使用函数

annicybc的专栏 6485

使用IntelliJ IDEA配置版本管理(SVN和Git)

在开发过程中,版本管理是必不可少的一部分,它可以帮助团队协作、管理代码历史记录,并且提供了代码回滚和分支管理等功能。本文将介绍如何使用IntelliJ IDEA配置版本管理,包括SVN和Git两种方式,另外列举了常见的问题并指导修复,以帮助开发者更高效地进行代码管理和协作。

2830

sql loader的一点总结

主要討論control file 格式 . sqlldr userid=lgone/tiger control=a.ctl LOAD DATA INFILE 't.dat' // 要导入的文件 // INFILE 'tt.d...

cuixie2370的博客 362

oracle使用SQLLDR导数据

SQLLDR 用法: SQLLDR keyword=value [,keyword=value,...] 控制文件:input.ctl,内容如下: load data --1、控制文件标识 infile 'test.txt' --2、要输入的数据文件名为test.txt append into table test --3、向表test中追加记录 fields termin

今天是昨天的明天 1635

SQLLDR—CTL文件

SQLLDR 可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据不方便。 CTL 文件介绍 第一部分 1、LOAD DATA:通常以此为开头,其前可加如下参数: 2、UNRECOVERABLE:表示数据不可恢复 3、RECOVERABL...

weixin_33711641的博客 1万+

SQLLDR-CTL文件导入oracle字段控制(截取)

position 关键字用来指定列的开始和结束位置   position(m:n):指从第 m 个字符开始截止到第 n 个字符作为列值   position(+2:15):直接指定数值的方式叫做绝对偏移量,如果使用号,则为相对偏移量,表示上一个字段哪里结束,这次就哪里开始,相对便宜量也可以再做运算。   position(*) char(9):这种相对偏移量+类型和长度的优势在于,你只需要为第一列指定开始位置,其他列只需要指定列长度就可以。 FILLER:控制文件中指定 FILLER,表示该列值不导入表中。

qq_42217505的博客 7602

SQLLDR来装载CLOB/BLOB列的控制文件例子

OracleSQLLDR是用来将文本文件中的记录装载到数据库中的工具, 其并行(Parallel),直接(Direct)的装载模式是目前所知最快的方式. 不过用于指定文本格式的控制文件有点难于写, 我在写时也经常需要查阅文档. 为了方便我还是在这儿写一个例子吧, 下面是样表的结构: SQL> create table test( 2 num_col number(10), 3 ch

世樹のブログ 6830

SQLLOADER(SQLLDR)用法

1.CTL FILE date 必须加 date 2.Commit point reached-> 查看logRecord 2: Rejected - Error on table XX_CATALOG_SETUP_H_...

835

SQLLDR-CTL文件

SQLLDR 可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据不方便。 CTL 文件介绍 ...

congyutui7406的博客 3075

oracle blob sqlloader,用SQLLDR来装载CLOB/BLOB列的控制文件例子

OracleSQLLDR是用来将文本文件中的记录装载到数据库中的工具, 其并行(Parallel),直接(Direct)的装载模式是目前所知最快的方式. 不过用于指定文本格式的控制文件有点难于写, 我在写时也经常需要查阅文档. 为了方便我还是在这儿写一个例子吧, 下面是样表的结构:SQL> create table test(2 num_col number(10),3 char_col ...

weixin_31601663的博客 1084

sqlldr控制文件及参数说明详解汇总

导入命令: sqlldr user/password control=test.ctl skip=1 load=200000 errors=100 rows=1000 bindsize=33554432 导入命令参数说明: user/password //数据库的用户名密码 control //sqlldr控制文件位置 skip=1 //表示跳过第一行,从第二行开始导入 load=200000 //表示并不导入所有的数据,只导入跳过skip参数后的200000条数据

黑伴白的博客 7249

sqlldr笔记

 SQLLDR应用举例【转】     1、普通装载  LOAD DATA INFILE * INTO TABLE DEPT...

weixin_34342578的博客 174

有关sqlldr的一个具体应用

今天接到生管给的生产报表,需要删除2000台SEQ状态下的车辆数据,因为在ALC系统的WEB画面无法进行此类的数据操作,必须得在数据库中利用DML进行,按照以往的方法,一般是按照报表上的数据进行DELETE,因为很多数据是序列的,因此用BETWEEN ....AND 做起来也不是很麻烦,可是这次确不一样,数据排列杂乱无章,我仔细思考了一下,觉得只有用其它方法来解决了,忽然想起ORACLE 提...

J.G.Darkd 136

oracle ctl文件7c1b,SQLLDR-CTL文件

SQLLDR 可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据不方便。CTL 文件介绍第一部分1、LOAD DATA:通常以此为开头,其前可加如下参数:2、UNRECOVERABLE:表示数据不可恢复3、RECOVERABLE:表示数据可恢复4、CONTINUE_LOAD:表示继...

weixin_42569429的博客 1400

SQLLDR详解与例子

SQLLDR应用举例 1、普通装载  LOAD DATA INFILE * INTO TABLE DEPT REPLACE FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'  (DEPTNO, DNAME, LOC ) BEGINDATA 10,Sales,"""USA""" 20,Ac

mjj291268154的专栏 2492

通过SQLLDR导入LOB数据

本例通过SQLLDR来导入CLOB和BLOB对象。 建表的SQL: CREATE TABLE lob_tab (number_content NUMBER(10),varchar2_content VARCHAR2(100)...

ckomuo086028的博客 416

Cursor设置界面汉化保姆级教程:手把手教你修改JS文件实现中文界面(附避坑指南)

本文提供Cursor编辑器设置界面汉化的详细教程,从定位JS文件到安全修改实现中文界面,包含必备工具清单、文件路径指引和常见问题解决方案。通过手把手教学帮助用户轻松完成汉化,提升使用体验,特别适合不熟悉英文界面的开发者。

weixin_29007809的博客 1371

心电信号分析方法研究(含matlab代码).rar_MATLAB仿真_心电_心电信号_心电信号分析_数字信号处理

心电信号预处理方法研究,内含MATLAB仿真代码与研究文档。

上一篇: Interrupted Loads
下一篇: SQL*Loader Field List Reference
彦祖的小号
博客等级 码龄9年 5粉丝 206原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值