小编给大家分享一下Mysql中怎么用存储过程&DataFactory准备测试数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一
小编给大家分享一下Mysql中怎么用存储过程&DataFactory准备测试数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
假设我们有以下2张表: student , detail_info 。(mysql版本)
其他detail_info的外键是name (也就是说detail_tail 中name的值要在student中有)
现在准备需要往这两张表中插入数据供测试时使用,
方法一,手动插入
必须选插入一条记录到student中,然后再插入一条到detail_info,且name要在student中有。
方法二,利用Mysql的存储过程
2.1 创建存储过程(一次插入一条数据)
代码块 |
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 调用存储过程
查询相应的表检查
1.3深入一个,创建一个一次能插入多条数据的存储过程
代码块 |
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; |
调用
查看结果
方法三,利用工具DataFactory
数据验证
以上是“mysql中怎么用存储过程&DataFactory准备测试数据”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!
--结束END--
本文标题: mysql中怎么用存储过程&DataFactory准备测试数据
本文链接: https://lsjlt.com/news/63205.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0