带while循环的存储过程

用途:可以用来批量创建测试数据,工作中用的比较多

批量创建测试数据,通常有以下方法:

方法一: excel表格导入,不适合大批量数据;

方法二:存储过程实现,循环实现

方法三:写300条insert语句,一次批量执行

方法四:利用自动化测试工具 jmeter 批量执行插入

备注:一定要定义循环的控制变量: 让循环正常能够结束,否则会陷入死循环

例如:

给用户信息表一次性插入多条数据

笨办法:

SELECT  * FROM user_tab;

INSERT INTO user_tab(user_id,user_name,email) VALUES(1001,'lily','lily@126.com');-user_id 主键

存储过程法:

注意

user_id 是主键,不能重复,最好名字也不一样,邮箱也不一样,更符合实际情况(这时用到concat函数)

存储过程实现:

DROP PROCEDURE test005; 先删除同名存储过程

DELIMITER //

CREATE PROCEDURE test005()

BEGIN

  DECLARE var1 INT(8);  --定义申明变量是int类型

  DECLARE name1 VARCHAR(30);

  SET var1 = 1001;    --给变量赋值

  SET name1='lucy';

  WHILE var1 <= 2000 DO
INSERT INTO user_tab(user_id,user_name,email)                      VALUES(var1,CONCAT(name1,var1),CONCAT(name1,var1,'@qq.com'));   

     SET var1=var1+1;   --定义循环的控制变量,否则死循环

  END WHILE;

END;

CALL test005();  --调用存过

SELECT * FROM user_tab;  --查看确认是否将数据插入


版权声明:本文为m0_72740348原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。