达梦数据库、OceanBase和oracle数据使用存储过程批量插入数据

表:
CREATE TABLE dm_varchar
(
    id              int IDENTITY(1,1) NOT NULL PRIMARY KEY,
    aes             varchar(1000) DEFAULT NULL,
    sm4             varchar(1000) DEFAULT NULL,
    sm4_a           varchar(1000) DEFAULT NULL,
    email           varchar(1000) DEFAULT NULL,
    phone           varchar(1000) DEFAULT NULL,
    ssn             varchar(1000) DEFAULT NULL,
    military        varchar(1000) DEFAULT NULL,
    credit_card     varchar(1000) DEFAULT NULL,
    job	varchar(1000) DEFAULT NULL
);

 达梦数据库使用存储过程批量插入100w条数据

存储过程:

declare
    i int:=1;            
begin
  loop                  
    i:=i+1;             
    INSERT INTO dm_varchar (aes, sm4, sm4_a, email, phone, ssn, military,  credit_card, job) VALUES ('胡小芬', '北京xx网络技术有限公司', '北京市', 'xxx@yahoo.com', '15652996964', '210302199608124861', '武水电字第3632734号',  '6227612145830440', '测试开发工程师');
    exit when i=1000000;   
  end loop;
 end;

 OceanBase数据库使用存储过程批量插入100w条数据

2.1、创建表

CREATE TABLE ocean_varchar (
  ID int(11) NOT NULL AUTO_INCREMENT,
  aes varchar(1000) CHARACTER SET utf8 DEFAULT NULL,
  sm4 varchar(1000) CHARACTER SET utf8 DEFAULT NULL,
  sm4_a varchar(1000) CHARACTER SET utf8 DEFAULT NULL,
  email varchar(1000) CHARACTER SET utf8 DEFAULT NULL,
  phone varchar(1000) CHARACTER SET utf8 DEFAULT NULL,
  ssn varchar(1000) CHARACTER SET utf8 DEFAULT NULL,
  military varchar(1000) CHARACTER SET utf8 DEFAULT NULL,
  credit_card varchar(1000) CHARACTER SET utf8 DEFAULT NULL,
  job varchar(1000) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (ID) USING BTREE
);

2.2、存储过程

create procedure test()
begin
declare i INT;
set i=0;
while i<5000000 do
 INSERT INTO ocean_varchar (aes, sm4, sm4_a, email, phone, ssn, military,  credit_card, job) VALUES ('胡小芬', '北京xx网络技术有限公司', '北京市', 'cpq@yahoo.com', '15652996964', '210302199608124861', '武水电字第3632734号',  '6227612145830440', '测试开发工程师');
set i=i+1;
end while;
select count(*) from ocean_varchar;
end;

call test();

Oracle数据库存储结构插入数据

存储过程和达梦类似

1、创建表

create table TESTSDK(
       id int primary key,     
       name varchar2(1000),
       email varchar2(1000)
);


--建立自定义序列
CREATE SEQUENCE varchar2_sequence
increment by 1                  -- 每次加几个
start with 1                    -- 从1开始计数
nomaxvalue                      -- 不设置最大值
nocycle                         -- 一直累加,不循环
nocache                         -- 不建缓冲区

create trigger varchar2_trig before
insert on TESTSDK for each row when (new.id is null)
begin
 select varchar2_sequence.nextval into:new.id from dual;
 end;

INSERT INTO TESTSDK (name,email) VALUES ('MDEBI0VniavN7wEjRWeJq83vcDWnwbaWwDz2WEZWq2IuPukh3bZrG1fyl8ex|^|','test@sina.com');

2、存储过程插入10w条数据

declare
    i int:=1;            
begin
  loop                  
    i:=i+1;             
    INSERT INTO TESTSDK (name,email) VALUES ('MDEBI0VniavN7wEjRWeJq83vcDWnwbaWwDz2WEZWq2IuPukh3bZrG1fyl8ex|^|','test@sina.com');
    exit when i=1000001;   
  end loop;
 end;

 

3、查询结果

 

 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁宁可可

您的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值