数据库中定义触发器实现:从多张表随机抽取数据组合成一张新表
来源:互联网 发布:苏州慧博网络是坑吗 编辑:程序博客网 时间:2024/05/23 15:38
问题描述:
我们以MySQL数据库为例,讲述怎么实现从多张表中随机抽取数据组合成一张新的表。问题分解可以这样:我们简化难度,首先我们先实现随机从一张表中抽取一条数据,并把它存储在一个临时变量中,我们可以重复以上工作,对多张表进行随机抽取一条数据并存储在临时变量,重点:我们把这些临时变量值组合起来使用insert语句插入一张新表。
下面是我的例子
sex表:
time表
1 00:00-02:00 10 22:00-24:00 11 06:00-08:00 12 18:00-20:00 2 02:00-04:00 3 04:00-06:00我们现在随机从sex表和time表随机抽取数据组合sex_time表,触发器如下:
DROP PROCEDUREIF EXISTS p_while_do;CREATE PROCEDURE p_while_do ()BEGINDECLARE i INT;DECLARE gender CHAR(255);DECLARE time CHAR(255);SET i = 1;WHILE i <= 10 DO SELECT sex.gender INTO gender from sex ORDER BY RAND() LIMIT 1; SELECT time.time INTO time from time ORDER BY RAND() LIMIT 1; INSERT INTO sex_timeVALUES (i, gender, time);SET i = i + 1;ENDWHILE;END;CALL p_while_do ();
结果图如下
1 0
- 数据库中定义触发器实现:从多张表随机抽取数据组合成一张新表
- oracle 从数据库中随机抽取数据 随机数
- 从数据库中随机抽取记录
- 从数据库表格中随机抽取行
- 从数据库中随机抽取一条记录
- Oracle 中实现随机抽取数据
- Oracle 中实现随机抽取数据
- Oracle 中实现随机抽取数据
- Oracle 中实现随机抽取数据
- 两条从数据库中随机抽取记录的语句
- 从数据库中随机抽取一条记录的SQL语句
- TODO:从数据库中随机抽取一条记录
- 从数据库中随机抽取一条记录的SQL语句
- 随机抽取一张纸牌
- perl实现从一个文件中随机抽取n行
- ORACLE中触发器实现删除一张表中数据同时删除另一表中相关数据
- 从重复逻辑中抽取新的数据组件
- orace随机抽取数据,并导入同个账户下的另外一张表
- iOS RunLoop
- Java read bson file
- QT设置单元格格式
- 阿里云 使用镜像mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 使用镜
- 题目1113:二叉树
- 数据库中定义触发器实现:从多张表随机抽取数据组合成一张新表
- redis简单了解和使用
- kettle7.0下实现数据库整体迁移
- shlwapi常用的操作路径函数
- [JZOJ5068]树
- Android 自定义卫星式弧形菜单
- SuperMap iServer REST API介绍
- JS实现浏览器的title闪烁、滚动、声音提示、chrome通知
- vue嵌套路由(二)