大数据——利用Mysql存储过程生成订单数据

#如果存在则删除存储过程
DROP PROCEDURE  IF EXISTS usp_generate_order_data;
#指定分隔符为//
DELIMITER //
#创建存储过程
CREATE PROCEDURE usp_generate_order_data()
BEGIN
    #如果存在则删除该临时表
	DROP TABLE IF EXISTS tmp_sales_order;
    #创建临时表,取sales_order的表结构
    #where 1=0 表示只取表结构,不需要数据
	CREATE TABLE tmp_sales_order AS SELECT * FROM sales_order WHERE 1=0;
	SET @start_date := UNIX_TIMESTAMP('2018-1-1');
	SET @end_date := UNIX_TIMESTAMP('2018-11-23');
	SET @i := 1;
	WHILE @i<=100000 DO
		SET @customer_number := FLOOR(1+RAND()*6);
		SET @product_code := FLOOR(1+RAND()* 3);
		SET @order_date := FROM_UNIXTIME(@start_date+RAND()*(@end_date-@start_date));
		SET @amount := FLOOR(1000+RAND()*9000);
		INSERT INTO tmp_sales_order VALUES (@i,@customer_number,@product_code,@order_date,@order_date,@amount);
		SET @i := @i +1;
	END WHILE;
    #清空sales_order中的表数据
	TRUNCATE TABLE sales_order;
    #将临时表中的数据插入到sales_order中
	INSERT INTO sales_order
	SELECT NULL,customer_number,product_code,order_date,entry_date,order_amount
	FROM tmp_sales_order;
	COMMIT;
    #完成插入操作后需要手动删除临时表
	DROP TABLE tmp_sales_order;
END //
#调用存储过程
CALL usp_generate_order_data();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vicky_Tang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值