#创建测试表
DROP TABLE IF EXISTS test.test;
CREATE TABLE test.test(
id int(10) not null auto_increment,
a int(10) not null,
b int(10) not null,
c int(10) not null,
PRIMARY key (`id`)
)ENGINE INNODB DEFAULT CHARSET utf8 COMMENT '测试表';
#清空数据
TRUNCATE table test.test; #定义存储过程
delimiter //
DROP PROCEDURE IF EXISTS insert_test_val;
##num_limit 要插入数据的数量,rand_limit 最大随机的数值
CREATE PROCEDURE insert_test_val(in num_limit int,in rand_limit int)
BEGIN DECLARE i int default 1;
DECLARE a int default 1;
DECLARE b int default 1;
DECLARE c int default 1; WHILE i<=num_limit do set a = FLOOR(rand()*rand_limit);
set b = FLOOR(rand()*rand_limit);
set c = FLOOR(rand()*rand_limit);
INSERT into test.test values (null,a,b,c);
set i = i + 1; END WHILE; END
// #调用存储过程
call insert_test_val(100000,10);
结果:
相关链接 http://blog.sina.com.cn/s/blog_9d0b00a4010122wf.html
MySQL 存储过程参数用法 in, out, inout:
http://www.blogjava.net/nonels/archive/2009/04/22/233324.html