文档章节

mysql 存储过程随机生成数据

NotFoundException
 NotFoundException
发布于 2016/06/16 10:59
字数 304
阅读 55
收藏 0

drop procedure TestVoucher;
-- 定义存储过程
delimiter $$
 create procedure TestVoucher() 
 begin 
    DECLARE max int; 
		DECLARE rc int; 
		declare tempVoucherId VARCHAR(60); -- 随机数  
		declare TEMP_VOUCHER_NO VARCHAR(60); -- 随机数  
    declare TEMP_GOODS_ID varCHAR(60);
    declare TEMP_GOODS_NAME varCHAR(60);
	  declare time TIMESTAMP ;
    set max =100; 
    set rc =1; 
loopl: while rc<max do 
   SELECT CONCAT('99S000620160607',round(round(rand(),18)*1000000000000000)) into tempVoucherId;
   SELECT CONCAT('99',round(round(rand(),10)*1000000000000000)) into TEMP_VOUCHER_NO;  
   select CONCAT('2016-06-16 ',LPAD(FLOOR(7 + (RAND() * 16)),2,0),':',LPAD(FLOOR(0 + (RAND() * 59)),2,0),':',LPAD(FLOOR(0 + (RAND() * 59)),2,0)) into time ;
   SELECT CONCAT(FLOOR(1 + (RAND() * 6))) into TEMP_GOODS_ID;
   SELECT CONCAT('商品名称',TEMP_GOODS_ID) into TEMP_GOODS_NAME;
   insert into S0007_S_COMMON_VOUCHER(VOUCHER_ID,VOUCHER_NO,GOODS_ID,GOODS_NAME,CREATE_TIME) values(tempVoucherId,TEMP_VOUCHER_NO,TEMP_GOODS_ID,TEMP_GOODS_NAME,time); 
   set rc=rc+1; 
end while loopl; 
 end$$ 
 delimiter ;


call TestVoucher;

 

 

SELECT FLOOR(7 + (RAND() * 6));     取7到12的随机整数,包括7到12

SELECT FLOOR(12+(rand()*13));   取12到24的随机整数,包括12到24

LPAD(FLOOR(0 + (RAND() * 23)),2,0)  取0-24之间的随机数,不够2位的前补0

格式 : 2008-12-11 17:43:11

举例:

给用户赋一个随机入职日期,年份为1990-2014

select CONCAT(FLOOR(1990 + (RAND() * 25)),'-',LPAD(FLOOR(1 + (RAND() * 12)),2,0),'-',LPAD(FLOOR(3 + (RAND() * 8)),2,0))

结果:1999-10-07

select CONCAT(LPAD(FLOOR(0 + (RAND() * 23)),2,0),':',LPAD(FLOOR(0 + (RAND() * 59)),2,0),':',LPAD(FLOOR(0 + (RAND() * 59)),2,0))

结果:15:39:18

拼好之后,再写update语句就可以了

© 著作权归作者所有

共有 人打赏支持
NotFoundException
粉丝 12
博文 123
码字总数 15044
作品 0
深圳
高级程序员
私信 提问
在 MySQL 中根据规则生成随机密码

MySQL 5.0 以后的版本开始支持存储过程,存储过程具有壹致性、高效性和安全性。MySQL 5.0 之前的版本并不支持存储过程,然而随着 MySQL 技术的日趋完善,存储过程将在以后的项目中得到广泛的...

苗哥
2012/08/03
0
10
MySQL函数和存储过程生成电话号码

电话号码是有11位数字组成,所以在生成电话号码之前我们先来看一看怎样通过函数生成字符串。 DELIMITER $$CREATE FUNCTION rand_num(n int) RETURNS VARCHAR(255)BEGIN DECLARE chars_str va...

trayvon
2015/11/09
0
0
Zabbix优化:数据库表分区

参考:https://www.zabbix.org/wiki/Docs/howto/mysqlpartition(官网) 当zabbix监控的服务器数量越来越多,就会报“Zabbix housekeeper processes more than 75% busy”这个错误 机器数量多...

jeff_1
2017/12/28
0
0
关系型数据库基础理论

一、关系型数据库基础 1. 一个好数据库管理系统要有好的数据缓冲区管理器。哪些数据放哪些块,哪些块放入内存。 2.内存同步到磁盘,物理块上二进制数据如何转化应用程序对应数据,都需要存储...

aha45
2014/02/15
0
0
Mysql调试技巧

Mysql调试技巧 转至元数据结尾 附件: 转至元数据起始 Mysql存储过程&函数调试技巧 1、在存储过程中添加SELECT 变量1,变量2;在命令行调用存储过程后会输出对应变量。 2、使用调试工具:dbFor...

messi_10
2016/03/04
16
0

没有更多内容

加载失败,请刷新页面

加载更多

通俗易懂解释网络工程中的技术,如STP,HSRP等

导读 在面试时,比如被问到HSRP的主备切换时间时多久,STP几个状态的停留时间,自己知道有这些东西,但在工作中不会经常用到,就老是记不住,觉得可能还是自己基础不够牢固,知识掌握不够全面...

问题终结者
26分钟前
3
0
看了一下Maven的内容

了解了Maven其实是一个跨IDE的标准构建工具,能推广的原因估计是借了仓库的便利。 另一个作用是可以通过Maven的功能在社区版的IDEA去创建Web项目,下次实践看看

max佩恩
30分钟前
1
0
day27:expect批量杀进程|

1、linux下当前目录有一个文件ip-pwd.ini,内容如下: [root@localhost_002 shell100]# cat ip-pwd.ini 10.111.11.1,root,xyxyxy10.111.11.2,root,xzxzxz10.111.11.3,root,12345610.......

芬野de博客
今天
3
0
分布式之数据库和缓存双写一致性方案解析(二)

引言 该文是对《分布式之数据库和缓存双写一致性方案解析》,一文的补充。博主在该文中,提到了这么一句话 应该没人问我,为什么没有先更新缓存,再更新数据库这种策略。 博主当时觉得,这种...

hensemlee
今天
4
0
druid安装与案例

druid 可以运行在单机环境下,也可以运行在集群环境下。简单起见,我们先从单机环境着手学习。 环境要求 java7 或者更高版本 linux, macOS或者其他unix系统(不支持windows系统) 8G内存 2核C...

hblt-j
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部