如何往oracle批量插入多条数据

本文介绍了一种使用序列和批量提交来优化数据库插入操作的方法。通过创建一个序列SEQ_TABLE_A并利用该序列生成唯一ID,结合批处理技术每100条记录提交一次,有效减少了事务日志空间的占用,提升了插入效率。
摘要由CSDN通过智能技术生成

-- Create sequence 
create sequence SEQ_TABLE_A
minvalue 1
maxvalue 999999999999999999999999999
start with 3021
increment by 1
cache 20;



create table  tb(
                   ID NUMBER,
                   DOMAIN VARCHAR2(50),
                   IP LONG
) NOLOGGING ;


CREATE OR REPLACE PROCEDURE p_insert
IS
num NUMBER;  --批量提交参数
BEGIN
    num :=1;
    FOR i IN 1..1000 LOOP
        insert  into tb(id,domain,ip) VALUES(SEQ_TABLE_A.NEXTVAL,'www.a_'||i||'.com',3232238953+(i-1)*10);   --执行插入
        num:=num+1;
        IF Mod(num,100)=0 THEN   --一百笔提交一次,分批量提交,及时释放redo log buffer
           COMMIT;
        END IF;
    END LOOP;
END;






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值