昨日碰到的又一将其他数据库中数据导入ORACLE数据库中的例子,其中用到了SEQUENCE来实现一个主键的自动导入,
源数据在SQL SERVER中,因为开发人员已经将其导出成EXCEL文件了,所以放弃了使用HS,使用SQL LOADER干这个活,
问题出在一个列的解决上,要求是在原来数据的基础(有主键)上增加一个新的主键,作导入目标表的主键,
初始尝试直接建立一个SEQUENCE来解决这个问题,结果屡屡报错,最终的解决方法是使用了下面的一个SQLLDR的序列函数,
下面是CTL文件的写法,
options (skip = 1)
load data
infile 'aaa.csv'
Append into table bbb
fields terminated by ','
OPTIONALLY ENCLOSED BY '"'
trailing nullcols
(ID sequence(max,1),
aaa,
bbb,
ccc,
...
)
其中sequence(n,1) 代表序列start with max increment by 1,
值得指出的是,当指定sequence(max,1)时(max大小写不区分) ,sqlldr将自动找到列中的最大值,然后生成并使用这个虚拟的序列来用于插入数据,很好很强大的sqlldr。
相关推荐
Oracle SQL*Loader是Oracle数据库提供的一个用于将外部数据加载到Oracle表...对于数据库管理员和数据工程师来说,掌握SQL*Loader的使用是必须的,因为它在数据迁移、数据整合、数据备份和恢复等场景中发挥着重要作用。
oracle11g基本客户端,主要是sqlplus,sqlldr,exp,imp这几个命令。最最主要的还是sqlldr,...如果使用sqlldr 报以下错误 可能环境变量少配置 Message 2100 not found; No message file for product=RDBMS, facility=UL
在java代码中调用执行shell脚本,sqlldr导数与使用sqlplus在shell调用执行存储过程。 linux环境中有2个dba的用户:oracle、erm 还有1个web用户:erm 在linux环境中,这三个用户都可以直接在任意目录下执行该shell...
这篇博文将详细介绍sqlldr的使用实例,帮助你理解和掌握这一工具,以便在实际工作中更有效地处理大量数据。 1. **SQL*Loader的基本概念** SQL*Loader通过读取控制文件,将数据从文本文件加载到Oracle表中。控制...
Oracle中的sqlldr用法详解 Oracle中的sqlldr工具是用来将数据从外部文件加载到Oracle数据库中的一个命令行工具。sqlldr命令提供了许多参数来控制加载过程,下面将详细介绍这些参数的作用和用法。 userid 参数...
SQL*Loader(简称sqlldr)是Oracle数据库提供的一款强大的数据加载工具,用于高效地将大量数据从外部文件导入到数据库表中。在这个场景下,我们关注的是如何利用sqlldr将Excel数据快速批量地导入到Oracle数据库。...
在Oracle中,这通常是通过使用序列(sequence)来实现的。序列是一种对象,可以生成连续的整数,通常用于为主键或唯一标识字段提供值。 ### 示例分析 给定的代码示例展示了如何使用SQL*Loader将数据文件`b.txt`中...
- 使用SQL*Loader将处理后的数据导入到另一个数据库或同一数据库的不同表中。 - 使用`MERGE INTO`语句,根据业务逻辑,将导入的数据与原表进行合并,完成数据的更新和插入。 在实际操作中,我们还需要考虑错误处理...
Oracle的SQL*Loader(简称SQLLDR)工具就是这样一个强大的数据加载器,它能快速高效地将数据从外部文件批量导入到数据库中。结合批处理(BAT)脚本,我们可以自动化这个过程,提高工作效率。下面我们将详细探讨如何...
包括:libclntsh.so.11.1,sqlldr,中英文的message文件。 应该没有必要替换库文件,包含在里面备用。 打命令行看过确实是11.2.0.4。 --- SQL*Loader: Release 11.2.0.4.0 - Production on 星期五 11月 12 12:25:22 ...
2. **单一控制文件**:在控制文件中使用`WHEN`条件,根据不同的文件名进行导入。这样可以将所有规则放在一个文件中,减少维护工作。 ```sql WHEN (1:1 = 'file1') LOAD DATA INTO TABLE table_name ... WHEN...
在这个"Windows版oracle10g精简客户端(带sqlldr)"中,我们主要关注两个关键组件:Instant Client和sqlldr。 **Instant Client** 是Oracle提供的一种轻量级客户端工具,它允许用户在没有完整安装Oracle数据库的...
在命令行中,使用以下格式运行sqlldr: ``` sqlldr username/password@database control=control_file.ctl log=log_file.log bad=bad_file.bad discard=discard_file.dsc ``` - `username/password@database`:...
- **使用函数装载**:在控制文件中使用转换函数对数据进行处理后再加载。 - **多文件多表装载**:处理多个数据文件并加载到多个表中。 - **默认值装载**:对于没有提供的字段,可以设置默认值。 - **LOB数据装载...
通过以上分析,我们了解了SQL*Loader的基本使用方法及其在复杂数据操作中的应用,包括数据导入、更新和插入操作。这些技能对于数据库管理员和开发人员来说都是至关重要的,尤其是在处理大规模数据集时。
oracle11g基本客户端,主要是sqlplus,sqlldr,exp,imp这几个命令。最最主要的还是sqlldr,想找个单独可用的sqlldr,在Oracle 10g Client 精简优化安装包不到12M ...
在提供的压缩包文件`spool和sqlldr实例`中,你可能找到了一个具体的Shell脚本,该脚本演示了如何结合使用这两个工具。这个脚本可能包含了以下几个部分: 1. 初始化环境,如设置Oracle环境变量。 2. 使用Spool将SQL...
修改参数为自己本机配置后,运行脚本,复制输出结果到cmd下,直接运行即可批量将excel文件内容传输至指定Oracle表格中。 包含: sqlldr配置文件详解.sql 批量sqlldr导入.py 批量导入文件SQL语句 示例:祁东县.ctl
在标题提及的`sqlldr(linux+windows).rar`压缩包中,包含了适用于Linux和Windows操作系统的SQL*Loader工具,以及可能的使用案例和教程,使得用户无论在哪个操作系统环境下都能进行数据的快速上传。 **1. SQL*Loader...