如何在sql developer中运行多个insert语句?

时间:2015-09-14 17:36:34

标签: oracle-sqldeveloper bulkinsert

我有一个200插入语句,可以插入到单个表中。如何在sql developer中执行此操作以立即运行该200个插入语句。

1 个答案:

答案 0 :(得分:0)

有各种方法。我肯定知道两个,可能还有其他人:

选项1)

with dta(id, Col1, Col2) as (
  select 1, 'Some Value 1', date '2015-01-12' from dual union all
  select 2, 'Some Value 2', date '2015-05-21' from dual union all
  select 3, 'Some Value 3', date '2015-09-14' from dual
)
insert into your_table (id, col1, col2)
                 select id, col1, col2 from dta;

选项2)

insert all
  into your_table (id, col1, col2) values (1, 'Some Value 1', date '2015-01-12')
  into your_table (id, col1, col2) values (2, 'Some Value 2', date '2015-05-21')
  into your_table (id, col1, col2) values (3, 'Some Value 2', date '2015-09-14')
select * from dual;

我更喜欢选项1,因为它比选项2更简洁,因为您不需要每次都列出列。使用选项2,可以更容易地改变哪些列被加载,因为您可以为每个into语句包含或排除不同的列。只有当可能存在大量空值列或列应采用默认值时,这才有好处。