当前位置:   article > 正文

大数据——利用Mysql存储过程生成订单数据_创建存储过程实现新增一个订单信息,并要求该订单中至少有两个商品详情,订单生成后

创建存储过程实现新增一个订单信息,并要求该订单中至少有两个商品详情,订单生成后
  1. #如果存在则删除存储过程
  2. DROP PROCEDURE IF EXISTS usp_generate_order_data;
  3. #指定分隔符为//
  4. DELIMITER //
  5. #创建存储过程
  6. CREATE PROCEDURE usp_generate_order_data()
  7. BEGIN
  8. #如果存在则删除该临时表
  9. DROP TABLE IF EXISTS tmp_sales_order;
  10. #创建临时表,取sales_order的表结构
  11. #where 1=0 表示只取表结构,不需要数据
  12. CREATE TABLE tmp_sales_order AS SELECT * FROM sales_order WHERE 1=0;
  13. SET @start_date := UNIX_TIMESTAMP('2018-1-1');
  14. SET @end_date := UNIX_TIMESTAMP('2018-11-23');
  15. SET @i := 1;
  16. WHILE @i<=100000 DO
  17. SET @customer_number := FLOOR(1+RAND()*6);
  18. SET @product_code := FLOOR(1+RAND()* 3);
  19. SET @order_date := FROM_UNIXTIME(@start_date+RAND()*(@end_date-@start_date));
  20. SET @amount := FLOOR(1000+RAND()*9000);
  21. INSERT INTO tmp_sales_order VALUES (@i,@customer_number,@product_code,@order_date,@order_date,@amount);
  22. SET @i := @i +1;
  23. END WHILE;
  24. #清空sales_order中的表数据
  25. TRUNCATE TABLE sales_order;
  26. #将临时表中的数据插入到sales_order中
  27. INSERT INTO sales_order
  28. SELECT NULL,customer_number,product_code,order_date,entry_date,order_amount
  29. FROM tmp_sales_order;
  30. COMMIT;
  31. #完成插入操作后需要手动删除临时表
  32. DROP TABLE tmp_sales_order;
  33. END //
  34. #调用存储过程
  35. CALL usp_generate_order_data();

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/824503
推荐阅读
相关标签
  

闽ICP备14008679号