温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql中怎么用存储过程&DataFactory准备测试数据

发布时间:2021-11-06 10:52:49 来源:亿速云 阅读:220 作者:小新 栏目:MySQL数据库

小编给大家分享一下mysql中怎么用存储过程&DataFactory准备测试数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

假设我们有以下2张表: student , detail_info 。(MySQL版本)

其他detail_info的外键是name (也就是说detail_tail 中name的值要在student中有)

mysql中怎么用存储过程&DataFactory准备测试数据

mysql中怎么用存储过程&DataFactory准备测试数据

现在准备需要往这两张表中插入数据供测试时使用,

方法一,手动插入

必须选插入一条记录到student中,然后再插入一条到detail_info,且name要在student中有。

方法二,利用MySQL的存储过程

2.1 创建存储过程(一次插入一条数据)

mysql中怎么用存储过程&DataFactory准备测试数据

代码块

create procedure pr_add

(

v_id int, -- 打算插入的id

v_name varchar(20) –打算插入的name

)

begin

INSERT INTO `student` VALUES (v_id, v_name, 'male', '20', '2011-08-16 22:05:45' );

INSERT INTO `detail_info` VALUES (v_id, v_name, '2011-08-16', '13881954050', 'xinjiang');

end;

2.2 调用存储过程

mysql中怎么用存储过程&DataFactory准备测试数据

查询相应的表检查

mysql中怎么用存储过程&DataFactory准备测试数据

mysql中怎么用存储过程&DataFactory准备测试数据

1.3深入一个,创建一个一次能插入多条数据的存储过程

mysql中怎么用存储过程&DataFactory准备测试数据

代码块

create procedure proc_add

(

number int -- 打算新插入多少条数据

)

begin

declare v_name varchar(20);

declare v_i int;

set v_i=0;

select max(id) into v_i from student; -- 获得当前表中最大id,并存储进变量v_i

set number=v_i+number; -- 最大id

set v_i=v_i+1; -- 插入的id从当前id+1开始

while v_i<=number do -- 插入的id值从id+1 ~ number

set v_name=concat('bill' , v_i ); -- 拼接name,因为name不能相同

INSERT INTO `student` VALUES (v_i, v_name, 'male', '20', '2011-07-16' );

INSERT INTO `detail_info` VALUES (v_i, v_name, '2011-08-16 22:05:45', '13881954050', 'xinjiang');

set v_i=v_i + 1;

end while;

end;

调用

mysql中怎么用存储过程&DataFactory准备测试数据

查看结果

mysql中怎么用存储过程&DataFactory准备测试数据

方法三,利用工具DataFactory

mysql中怎么用存储过程&DataFactory准备测试数据

mysql中怎么用存储过程&DataFactory准备测试数据

mysql中怎么用存储过程&DataFactory准备测试数据

mysql中怎么用存储过程&DataFactory准备测试数据

数据验证

mysql中怎么用存储过程&DataFactory准备测试数据

以上是“mysql中怎么用存储过程&DataFactory准备测试数据”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI