使用存储过程在数据库插入百万数据
前言
以“INFO”表为例
CREATE TABLE `INFO` (
`ID` int(10) NOT NULL ,
`NAME` varchar(255) NULL ,
`AGE` int(3) NULL ,
`DATE` varchar(255) NULL ,
`ADDERSS` varchar(255) NULL ,
PRIMARY KEY (`ID`)
);
Oracle
// "INFO_insert"存储过程名称
create or replace procedure INFO_insert(date IN VARCHAR2) is
begin
for i in 1 .. 100000 loop
insert into INFO
(ID,
NAME,
AGE,
DATE,
ADDERSS)
values
(i,
'sys_'||i,
'10',
DATE,
'中国');
end loop;
end INFO_insert;
MySql
// "BAPP"数据库表空间;"INFO_insert"存储过程名称
CREATE DEFINER='root'@'%' PROUCEDURE BAPP.INFO_insert()
BEGIN
DECLARE i INTEGER;
SET i = 0;
while i<100000 do
insert into INFO
(ID,
NAME,
AGE,
DATE,
ADDERSS)
values
(i,
'sys_'||i,
'10',
DATE,
'中国');
commit;
SET i = i+1;
end while;
COMMOT;
END
gbase
// "BAPP"数据库表空间;"INFO_insert"存储过程名称
CREATE OR REPLACE PROUCEDURE BAPP.INFO_insert()
BEGIN
DECLARE i INTEGER DEFAULT 0;
while i<100000 do
insert into INFO
(ID,
NAME,
AGE,
DATE,
ADDERSS)
values
(i,
'sys_'||i,
'10',
DATE,
'中国');
SET i = i+1;
end while;
END