在SQLDeveloper中批量执行多个插入语句

问题描述

我有一个脚本,在一个表中有大约2600条插入语句。像下面一样

insert into STUDENT(NAME,ROLL) VALUES('Bob',1);
insert into STUDENT(NAME,ROLL) VALUES('Ron',2);
.
.
insert into STUDENT(NAME,ROLL) VALUES('Jack',2600);

我通过按F9运行此脚本(Oracle DB),它开始逐行执行并且需要很多时间。

有没有一种方法可以一次执行所有操作?

注意:插入脚本是通过导出生成的,我无法以以下格式进行更改

insert into STUDENT
VALUES
('Bob',1),('Ron',2),.
.
('Jack',2600);

解决方法

脚本包含单独的INSERT INTO语句,它们按这样的方式执行-分别一对一地执行。

如果您将数据导出到例如CSV文件,您可以拥有

  • 使用的SQL * Loader或
  • 外部表功能

可以更快地完成。但是,正如您没有那样,让脚本运行并等待一会儿。我认为您没有其他选择(除非您将其分成几个较小的文件,然后在单独的SQL * Plus连接中并行运行它们,但这可能比等待当前脚本完成需要更多的时间进行准备)。


从SQL * Loader开始:

  • 首先,请确保您有文本文件中的数据(例如,以分号分隔)
  • 检查计算机上是否有SQL * Loader。它与任何Oracle数据库一起安装,或者-如果您的PC上没有它-Oracle客户端软件
  • 然后创建一个控制文件,该文件使用CSV文件作为输入并将数据加载到目标表的适当列中

这是Oracle 11g SQL*Loader文档。读取它需要花费一些时间,但是-关于它是一个简单的两列表这一事实,应该非常简单。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...