用PL/SQL developer将excel数据导入到Oracle数据库中

PL/SQL Developer是一种专门用于开发、测试、调试和优化oracle PL/SQL存储程序单元,比如触发器,存储过程,函数和程序包等集成开发环境。
在单个文件数据不多(小于10w行),并且目的表结构已经存在的情况下可以使用plsql developer工具将excel内容直接通过简单的copy,paste操作导入oracle数据库。具体操作方式如下:

我要导入的表是job的日志表job_log,首先创建表job_log

create table JOB_LOG
(
DATE DATE not null,
TYPE VARCHAR2(100) not null,
TASK VARCHAR2(2550) not null,
ERROR VARCHAR2(4000) not null
)
tablespace test;

在plsql developer的sql window里输入select * from job_log for update,其中test是要导入的oracle数据表名称;

执行查询(通过点击按钮或者快捷键F8可以实现);

点击查询结果上面的锁状按钮,使得查询到的内容处于编辑状态。

从excel数据表中copy(ctrl +C)要导入oracle中的数据,如果是单列数据导入,可以先按plsql developer中查询结果上面的“添加(+)”按钮,使得数据表处于添加数据状态,然后将鼠标在plsql developer的列名称上单击,最后使用快捷键ctrl + v 完成数据导入操作,并单击plsql developer中的“提交(对号)”按钮提交所做的修改。

如果是同时导入所有列,首先excel表的第一列设置为空值,选择copy空值列+所有数据,然后点PL/SQL developer中,增加(+)并点击编辑那一行最前面的星号(*)使得整行数据都处于被选择状态,最后paste即可将数据导入。

如果分列导入数据,则需要逐列完成,首先选择copy要导入的数据,然后然后点增加(+)并点击编辑那一列的名称,使得整列数据都处于被选择状态,最后paste即可将数据导入。

使用PLSQL developer执行数据的导入和导出操作主要存在的问题是在大数据量情况下对中文数据可能出错,估计将接收数据表的类型定义为nvarchar2的类型会比较好一点。另外,就是这种方法需要人工更多的参与,不能达到自动导入的效果。

你可能感兴趣的:(ORACLE)