首页
JAVA笔记
数据库笔记
混乱记忆
小站记
您现在的位置
mysql表初始化存储过程
简介: 执行mysql存储过程进行表初始化操作

在座表性能测试的时候经常要用到初始化表数据的脚本,这里修改了之我前写的oracle表初始化存储过程,对mysql 不熟悉这个脚本修改大概花了2小时,所以特此记录希望对大家有帮助。

 

建表

CREATE TABLE `queryTest` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(64) DEFAULT NULL,
`state` int DEFAULT NULL,
`content` varchar(1200) DEFAULT NULL,
PRIMARY KEY (`id`)
)

 

 

 

创建存储过程

drop procedure TEST;
delimiter $$
CREATE  procedure TEST(in id int)
BEGIN
declare   i int default 1;
declare   ran int default 0;
declare   j int;
declare   name varchar(32) default '';
declare   content varchar(1024) default '';
declare   name_f int;
declare   content_f int;
declare   name_l int;
declare   content_l int;
declare   k int;


while i<=id do
set ran =floor(rand()*101);
set name_l =floor(rand()*33);
set content_l =floor(rand()*1001);
set name_f =0;
set content_f =0;
while name_f<name_l do
  set k=floor(65+rand()*27);
 select k,char(k);
set name =concat(name,char(k));
  set name_f=name_f+1;
end while;

while content_f<content_l do

   set k=floor(65+rand()*27);
select k,char(k);
set content =concat(content,char(k));

   set content_f =content_f+1;
end while;

insert into queryTest(name,state,content) values(name,ran,content);

set name ='';
set content ='';


if i mod  2 = 0 then

commit;
end if;

set i=i+1;

end while;

END$$
delimiter ;

 

执行存储过程

set @para=5;

call TEST(@a);