MySQL流程控制经典案例
一、已知表 stringcontent
其中字段:
id 自增长
content varchar(20)
向表中插入指定个数的,随机字符串
DELIMITER $
CREATE PROCEDURE test_randstr_insert(IN insertCount INT)
BEGIN
DECLARE i INT DEFAULT 1; #定义一个循环变量i,表示插入次数
DECLARE str VARCHAR(26) DEFAULT 'abcdefghijklmnopqrstuvwxyz';
DECLARE startIndex INT DEFAULT 1; #代表起始索引
DECLARE len INT DEFAULT 1; #代表截取的字符的长度
WHILE i<=insertCount DO
SET len=FLOOR(RAND()*(20-startIndex+1)+1); #产生一个随机的整数,代表 截取长度,1-(26-startIndex+1)
SET startIndex=FLOOR(RAND()*26+1); #产生一个随机的整数,代表起始索引1-26
INSERT INTO stringcontent(content) VALUES (SUBSTR(str,startIndex,len));
SET i=i+1; #循环变量更新
END WHILE;
END $
DELIMITER;
CALL test_randstr_insert(20)