`

sql*loader:在加载的字段中使用默认值

SQL 
阅读更多

使用SQL*LOADER加载文本的时候,某些列我希望填写一个默认值,应该怎么做呢?
    第一种方式是在创建表的时候,字段上设置一个default约束,然后这样写控制文件:
load data
append into table temp_xxxx
TRAILING NULLCOLS   --这行一定要加
(
    user_name position(1:1000),
    user_age defaultif user_age is null
)

    第二种办法是在控制文件中制定默认值,这种方法无疑灵活很多,控制文件这样写:
load data
append into table temp_xxxx
TRAILING NULLCOLS
(
    user_name position(1:1000),
    user_age "nvl(:user_age, 20)"

    a “nvl(null,sysdate)”
)

 

 

 

 

在控制文件的INTO   TABLE段中加入   (F1   POSITION(1:2)   INTEGER   EXTERNAL   "expression")  
  其中"expression"为你想插入的值表达式,可以是所有允许在insert语句中VALUES字句中出现的表达式都可以。例如:  
  ...  
  INTO   TABLE   T1(F1   POSITION(1:2)   INTEGER   EXTERNAL   "DECODE(:F1,V1,0,:F1)",  
                              F2   POSITION(3:4)   INTEGER   EXTERNAL   "NVL(:F2,0)")  

分享到:
评论

相关推荐

    SQL*Loader.zip

    8. **直接路径加载**:SQL*Loader使用直接路径加载技术,绕过数据库的SQL解析器和优化器,提高数据加载速度。但这也意味着在加载期间,目标表可能无法进行其他操作。 9. **绑定变量**:高级用户还可以使用绑定变量...

    SQL LOADER错误小结

    如果数据文件中缺少某些字段,我们可以在控制文件中使用`CONSTANT`关键字提供默认值。例如,如果`COLLECT_DT`字段缺失,可以这样设置: ``` COLLECT_DT CONSTANT '20120214' ``` 这将使SQL*Loader使用指定的...

    sqlldr_所有命令及用法

    - **使用函数装载**:在控制文件中使用转换函数对数据进行处理后再加载。 - **多文件多表装载**:处理多个数据文件并加载到多个表中。 - **默认值装载**:对于没有提供的字段,可以设置默认值。 - **LOB数据装载...

    oracle SQL讲义

    8. **WHERE Function**:在查询语句中使用WHERE子句来指定筛选条件。 9. **GROUP BY Function**:与聚合函数(如COUNT, SUM, AVG, MAX, MIN)一起使用,按一个或多个列对结果集进行分组。 10. **Oracle Function**...

    Oracle Lob Performance Guidelines

    4. **并行加载数据**:在批量加载大量 LOB 数据时,使用并行查询选项,例如通过 SQL*Loader 的 `-parallel` 参数。 5. **使用 Direct Path 插入**:在插入数据时使用 Direct Path 插入方式,以避免额外的排序操作...

    oracle学习资料

    - **使用INSERT...SELECT插入数据**:从一个表中选择数据插入到另一个表中。 - **更新数据** - `UPDATE 表名 SET 列名 = 新值 [WHERE 条件];` - **合并操作** - **基本的合并操作功能**:`MERGE INTO 目标表 ...

    Java面试题

    - 避免在查询条件中使用`NULL`值,因为`NULL`值可能导致全表扫描。 - 如果字段允许`NULL`值,考虑使用默认值代替`NULL`,以提高查询效率。 - **查询优化**: - 尽可能减少不必要的子查询,使用连接查询或者优化子...

    oracle 外部表语法

    1. **TYPE**:指定数据加载的类型,默认为`ORACLE_LOADER`,也可以使用其他类型。 2. **DEFAULT DIRECTORY**:指定外部表所在文件夹。 3. **LOCATION**:指定文件的具体位置。 4. **ACCESS PARAMETERS**:设置转换...

    ORACLE 快速导出工具sqluldr2

    在本文中,我们将详细探讨SQL*Loader的使用、功能和优点,并在不同操作系统环境下进行操作指导。 首先,SQL*Loader是Oracle Database提供的一种实用程序,它可以从外部数据文件中批量加载数据到数据库表中。与传统...

    oracle/mysql 数据库面试 真题

    2. **数据导入**:将外部文件中的数据导入到数据库表中通常有多种方式,包括但不限于`LOAD DATA INFILE`命令、导出工具(如Oracle的`SQL*Loader`或MySQL的`LOAD DATA`)、或者使用应用程序接口进行批量插入等。...

    sqlldr导入带有自动增加的数据

    给定的代码示例展示了如何使用SQL*Loader将数据文件`b.txt`中的数据加载到名为`testb`的表中,其中`testb`表包含四个字段:`id`、`name`、`start_date`和`pk`。值得注意的是,`pk`字段被设置为自动增加,通过引用...

    oracle/mysql 数据库面试真题

    - 可以通过SQL\*Loader工具或者使用LOAD DATA INFILE命令导入数据。 2. **导入班级信息** (`Classinfo.unl` -> `classinfo`) - 文件内容格式示例: ``` 2006010901|2006级信息技术学员计算机1班|陈峰|45| ...

    Oracle sqlldr导入一个日期列实例详解

    在这个实例中,我们将深入探讨如何使用SQL*Loader导入包含日期列的数据。这个实例涉及到的关键知识点包括数据文件格式、字段分隔符、日期格式转换以及序列自增。 首先,我们需要创建一个控制文件,这是SQL*Loader...

    Oracle9i的init.ora参数中文说明

    说明: 在 SQL 语句中, 应避免使用繁琐的 NLS_SORT 进程。正常情况下, WHERE 子句中进行的比较是二进制的, 但语言比较则需要 NLSSORT 函数。可以使用 NLS_COMP 指定必须根据NLS_SORT 会话参数进行语言比较。 值范围:...

    linux 命令英文全称

    LILO(LInux LOader)是早期的Linux系统引导加载器之一,它的作用是在启动时加载内核(kernel)。 #### MySQL=MyŮ֣SQL=StructuredQueryLanguage MySQL是一种关系型数据库管理系统(Relational Database Management ...

Global site tag (gtag.js) - Google Analytics