当前位置:首页 » 编程语言 » oraclesql批量插入
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

oraclesql批量插入

发布时间: 2023-06-09 20:07:34

1. oracle数据库,批量插入数据脚本

批量插入数据脚本
1、第一种批量插入数据脚本,可锋胡以基本满足要求。理解上较为简单,所以这个最常用。

NEXTVAL和CURRVAL的区别银余拦:
1、如果 sequence.CURRVAL 和 sequence.NEXTVAL 都出现在一个 SQL 语句中,则序列只增加一次。在这种情况下,每个 sequence.CURRVAL 和 sequence.NEXTVAL 表达式都返回相同的值,不管在语句中sequence.CURRVAL 和 sequence.NEXTVAL 的顺序。

执行脚本结果如下:

3、两个表,同时批量插入数据的脚本

3、
4、 涉及子表时,批量插入数据脚本,

5、 批量修改数据

时间取数方式:
一、SYSTIMESTAMP(取当前系统值)
二、SYSDATE(取当前系统值,但只精确到时,分和秒都为0)
三、固定值为:TO_TIMESTAMP (񟭓-2-12 15:24:45.703000', 'yyyy-mm-dd hh24:mi:ss.ff6')

把固定的字段改为变量:
方式一:’||i||’ 例:’{“no”:“111’||i||’”}’(此方式)
方式二:concat 例:concat(concat(’{“blNo”毁数:111"’,i),’"}’)

2. 如何在oracle数据库中的表里批量插入记录

1.
如果是对其它数据表中进行插入,可利用语句insert
into
A(字段名)
select
相应的字段名
from
B;commit;
2.
如果是从其它文档进行批量插入,可把文档导入都oracle的临时表,可通过复制黏贴的方法,把相应字段的数据复制到临时表中,再进行1中操作

3. oracle存储过程怎样批量插入新数据

需要生成的SQL
insert into TMP_UPSTATE_CASEKEY values('TMP0000001', 1, sysdate);

存储过程实现
create or replace procere proc_casekey_upstate
as
casekey char(14);
begin
for i in 1..10000000 loop
casekey := 'TMP'||lpad(i,7,0); -- TMP0000001
insert into TMP_UPSTATE_CASEKEY values(casekey, 1, sysdate);
end loop;
commit;
end;

begin
proc_casekey_upstate();
end;

测试发现生成一千万条数据用了14分钟左右,性能还是可以了,如果先去掉TMP_NUM_STATUS_ID的外键估计更快。
或者:
insert into TMP_UPSTATE_CASEKEY select 'TMP'||LPAD(rownum,7,0),1,sysdate from al connect by level <= 1000000;