1 建立表格
CREATE TABLE `tables_a` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` char(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2 建立方法
set global log_bin_trust_function_creators = 1; DROP FUNCTION IF EXISTS rand_string; DELIMITER // CREATE FUNCTION rand_string(n INT) RETURNS VARCHAR(255) BEGIN DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; DECLARE return_str varchar(255) DEFAULT ''; DECLARE i INT DEFAULT 0; WHILE i < n DO SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1)); SET i = i +1; END WHILE; RETURN return_str; END // delimiter ;
3 建立存储过程
delimiter // create procedure test(x int(10),y int(10),z int(10)) begin DECLARE i INT DEFAULT x; while i<y do insert into tables_a (`name`) values(rand_string(z)); set i=i+1; end while; end // delimiter ;
4 调用存储过程[此处的4作用不大,只是用来计算插入条数(9-4)]
CALL test(4,9,5)
5 显示结果