zoukankan      html  css  js  c++  java
  • 存储过程制造数据

     由于之前在写好项目后,由于项目中需要进行sql性能测试,但实际由于数据库中的实际数据量相对比较少,测试效果不佳,所以想着直接采用存储过程,直接生成数据,这样也快速高效。

     

    编写mysql存储过程,以下以实际项目为例

    
     78 -- 建立存储过程
     79 CREATE DEFINER=`root`@`localhost` PROCEDURE `add_storage_memory`( IN n INT )
     80 BEGIN
     81         -- 定义参数
     82     DECLARE
     83         i INT DEFAULT 1;-- 定义
     84         DECLARE commodity_id VARCHAR(40);
     85         DECLARE receipt_id VARCHAR(40);
     86         DECLARE rec_code VARCHAR(20);<br>    set autocommit=0;--设置不自动提交
     87        -- while 循环来一下,生成百万数据就靠它
     88     WHILE
     89             i < n DO
     90             -- 获取 uuid
     91                -- 循环体里面进行一系列的业务操作即可,比如A表插入数据,b表插入数据
     92         set  commodity_id = UUID( );
     93          
     94         SET receipt_id = UUID( );
     95          
     96         SET rec_code = CONCAT( "00000", i ) ;-- 插入商品
     97         INSERT INTO `res_provider_product` ( `id`, `provider_id`, `name`, `specification`, `unit`, `price`, `category_id`, `category`, `creation`, `create_time`, `updater`, `update_time`, `status` )
     98         VALUES
     99             ( commodity_id, '98989b55-09f7-4871-b5c9-085590e786b2', '竹牙签', '', NULL, NULL, '905f87e7-21bc-47e1-9e61-a85645524cb2', '其他', 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-05-18 19:52:04', 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-05-18 19:52:04', 1 );-- 插入定价
    100         INSERT INTO `res_product_price` ( `id`, `product_id`, `price`, `start_time`, `end_time`, `creation`, `create_time`, `updater`, `update_time`, `status` )
    101         VALUES
    102             ( UUID( ), commodity_id, 2.00, '2018-06-09', NULL, 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-06-09 16:27:43', 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-06-09 16:27:43', 50 );-- 插入入库单
    103         INSERT INTO `bis_receipt` ( `id`, `code`, `storage_id`, `provider_Name`, `provider_id`, `total_amount`, `business_time`, `creation`, `create_time`, `updater`, `update_time`, `status` )
    104         VALUES
    105             ( receipt_id, rec_code, '4512ef23-b20b-40f0-9ca1-b3316c4cc6c6', '库存供应商', '98989b55-09f7-4871-b5c9-085590e786b2', 4.00, '2018-06-09 00:00:00', 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-06-09 16:30:27', 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-06-09 16:30:27', 50 );-- 插入入库单子表
    106         INSERT INTO `bis_receipt_b` (
    107             `id`,
    108             `receipt_id`,
    109             `code`,
    110             `product_id`,
    111             `product_name`,
    112             `specification`,
    113             `unit`,
    114             `quantity`,
    115             `price`,
    116             `total_price`,
    117             `category_id`,
    118             `category`,
    119             `rec_dept`,
    120             `comment`,
    121             `creation`,
    122             `create_time`,
    123             `updater`,
    124             `update_time`,
    125             `status`
    126         )
    127         VALUES
    128             (
    129                 UUID( ),
    130                 receipt_id,
    131                 rec_code,
    132                 commodity_id,
    133                 '竹牙签',
    134                 '',
    135                 NULL,
    136                 2.00,
    137                 2.00,
    138                 4.00,
    139                 '905f87e7-21bc-47e1-9e61-a85645524cb2',
    140                 '其他',
    141                 NULL,
    142                 '',
    143                 'cd9335a9-06e6-4a39-84ec-2dee58378b4c',
    144                 '2018-06-09 16:30:27',
    145                 'cd9335a9-06e6-4a39-84ec-2dee58378b4c',
    146                 '2018-06-09 16:30:27',
    147                 1
    148             );
    149         //最后面添加++操作
    150         SET i = i + 1;
    151          
    152     END WHILE;
    153   commit;--提交事务
    154 END
  • 相关阅读:
    Linux ubuntu 下 git 服务器的配置 应用
    linux ubuntu 11.10 下的android开发环境的搭建!
    转载: Ubuntu下安装JDK图文教程详解 jdkjava630 .bin 的处理方法
    求助 关于openlaszlo的配置问题 。。
    J鬼
    Hibernate 之 概述
    C#实现http协议支持上传下载文件的GET、POST请求
    关于程序员的政治(转)
    使用VisualC#实现断点续传
    HttpWebRequest
  • 原文地址:https://www.cnblogs.com/insane-Mr-Li/p/10124106.html
Copyright © 2011-2022 走看看