zoukankan      html  css  js  c++  java
  • 存储过程批量添加数据

    -- 批量创建member表用户数据
    DROP PROCEDURE IF EXISTS CREATE_USER;
    CREATE PROCEDURE `CREATE_USER`()
    BEGIN 
    DECLARE i INT DEFAULT 10000;
    DECLARE v_belong VARCHAR(32);
    WHILE i >0 DO
            set v_belong=i;
            SET @insert_tmp_table=CONCAT('INSERT INTO sas_member (`BELONG`, `PARENT_ID`, `MEMBER_NAME`, `MEMBER_TYPE`, ',
                                    '`MEMBER_STATUS`, `PERSON`, `TEL`, `CREATE_BY`, `CREATE_TIME`, `LAST_UPDATE_BY`, `LAST_UPDATE_TIME`,',
                                    '`ENABLE_STATUS`, `com_type`) values('',v_belong,'', '', '测试企业一', '0', '1', '',',
                                    ''18501749712', '', '2017-08-03 15:36:54', '', '2017-07-19 01:00:01', '1', '3')');
            PREPARE insert_tmp_table_stmt FROM @insert_tmp_table;
            EXECUTE insert_tmp_table_stmt;
            DEALLOCATE PREPARE insert_tmp_table_stmt;
    SET i=i-1;
    END WHILE;
    END;
    
    -- 批量创建用户清算因子信息数据
    DROP PROCEDURE IF EXISTS CREATE_USER_INFO;
    CREATE PROCEDURE `CREATE_USER_INFO`()
    BEGIN 
    DECLARE i INT DEFAULT 10000;
    DECLARE v_belong VARCHAR(32);
    WHILE i >0 DO
            set v_belong=i;
            SET @insert_tmp_table=CONCAT('INSERT INTO sas_member_rule_info (`SYS_CODE`, `USER_ID`, `CARRIER_CODE`, `BALANCE_CLEAR`,',
                                        '`ORDER_NO`, `ORDER_DATE`, `INVOICE_STATUS_SON`, `INVOICE_TYPE_SON`, `INVOICE_STATUS_PARENT`,',
                                        '`INVOICE_TYPE_PARENT`, `TITLE_TYPE`, `TITLE`, `VIP_TYPE`, `ACCOUNT_TYPE`, `REMARK`, `CREATE_BY`,',
                                        '`CREATE_TIME`, `LAST_UPDATE_BY`, `LAST_UPDATE_TIME`, `ENABLE_STATUS`, `BALANCE_CLEAR_TYPE`,',
                                        '`IS_BALANCE`, `DISPATCH_NUMBER`, `PAY_DAY`) values(NULL, '',v_belong,'', '',v_belong,'', '3',',
                                        ''2.00', '2.00', '0.00', '0.00', '0.00', '0.00', '20', '3', '0', NULL, NULL,',
                                        ''sysadmin', '2017-08-03', 'sysadmin', '2017-08-03 15:03:40', '1', '0', '1', '0', '1')');
            PREPARE insert_tmp_table_stmt FROM @insert_tmp_table;
            EXECUTE insert_tmp_table_stmt;
            DEALLOCATE PREPARE insert_tmp_table_stmt;
    SET i=i-1;
    END WHILE;
    END;
    
    -- 批量插入母订单数据
    DROP PROCEDURE IF EXISTS CREATE_ORDER_INFO;
    CREATE PROCEDURE `CREATE_ORDER_INFO`()
    BEGIN
    DECLARE i INT DEFAULT 50000;
    DECLARE v_belong VARCHAR(32);
    DECLARE v_ORDER_NO VARCHAR(32);
    DECLARE V_ORDER_TYPE VARCHAR(2);
    WHILE i>0 DO 
            set v_belong=MOD(i,10000)+1;
            set v_ORDER_NO=CONCAT('PO20170803',LPAD(i,5,0));
            set V_ORDER_TYPE=LPAD(mod(i,2)+1,2,0);
            SET @insert_tmp_table=CONCAT('INSERT INTO sas_order_2017 (`ORDER_NO`, `SYS_CODE`, `YEAR`, `MONTH`, `BELONG`, `SUPPLY_CODE`, `SUPPLY_NAME`, ',
                                '`CARRIER_NAME`, `CARRIER_CODE`, `ORDER_TYPE`, `IS_SENDORDER`, `ORDER_TIME`, `PAY_TIME`, `INSURANCE_FEE`, `ORDER_MONEY`, `PAY_TYPE`, ',
                                '`PAY_WAY`, `BANK_TYPE`, `PAY_STATUS`, `ORDER_SET_STATUS`, `START_ADDR`, `FINAL_ADDR`, `REMARK`, `CREATE_BY`, `CREATE_TIME`, ',
                                ' `ENABLE_STATUS`, `FLOAT_DISCOUNT_RATE`, `FLOAT_DISCOUNT_FREIGHT`, `ACTUAL_ORDER_MONEY`,',
                                 '`FLOAT_FREIGHT_EXCHANGE`, `FREIGHT_EXCHANGE`)',
                                    '    values('',v_ORDER_NO,'',NULL,'2017','08',',v_belong,v_belong,''测试企业一',',
                                ''测试企业一',',v_belong,V_ORDER_TYPE,''02',',NOW(),NOW(),''0.00', '100', '02', '01',', 
                                ''1','0.00', '0.00', '0.00', '0.00', '0.00')');
            PREPARE insert_tmp_table_stmt FROM @insert_tmp_table;
            EXECUTE insert_tmp_table_stmt;
            DEALLOCATE PREPARE insert_tmp_table_stmt;
    SET i=i-1;
    END WHILE;
    END;

    -- 批量插入子订单数据
    DROP PROCEDURE IF EXISTS CREATE_SUB_ORDER_INFO;
    CREATE PROCEDURE `CREATE_SUB_ORDER_INFO`()
    BEGIN
    DECLARE i INT DEFAULT 50000;
    DECLARE v_belong VARCHAR(32);
    DECLARE v_ORDER_NO VARCHAR(32);
    DECLARE V_ORDER_TYPE VARCHAR(2);
    DECLARE v_waybill_no VARCHAR(32); 
    DECLARE V_ARBITRAGE_CODE VARCHAR(32);
    WHILE i>0 DO 
            set v_belong=MOD(i,10000)+1;
            set v_ORDER_NO=CONCAT('PO20170803',LPAD(i,5,0));
            set V_ORDER_TYPE=LPAD(mod(i,2)+1,2,0);
          set v_waybill_no=CONCAT('ZDYD20170803',LPAD(i,5,0));
        set V_ARBITRAGE_CODE=CONCAT('ZC20170803',LPAD(i,5,0));
            SET @insert_tmp_table=CONCAT('INSERT INTO sas_sub_order (`waybill_no`, `ORDER_NO`, `P_ORDER_NO`, `SYS_CODE`, `YEAR`, `MONTH`, `BELONG`,',
                     '`SUB_ACCOUNT`, `SUPPLY_CODE`, `SUPPLY_NAME`, `CARRIER_CODE`, `CARRIER_NAME`, `IS_RAILWAY`, `IS_SENDORDER`, `ORDER_TYPE`,',
                     '`ORDER_TIME`, `PAY_TIME`, `ORDER_MONEY`, `CLAIMING_VALUE`, `TOTAL_INSURANCE_FEE`, `INSURANCE_FEE`, `PREMIUM`, `PREMIUM_BANLANCE`,',
                     '`BASIC_PRICE`, `RISE_PRICE`, `OVER_RATE`, `ARBITRAGE_CODE`, `SUPPLY_PAY`, `CARRIER_PAY`, `PLATFORM_PAY`, `VERIFICATION_FREIGHT`, ',
                    '`PAY_TYPE`, `PAY_WAY`, `BANK_TYPE`, `PAY_STATUS`, `ORDER_SET_STATUS`, `REMARK`, `CREATE_BY`, `CREATE_TIME`,',
                     '`ENABLE_STATUS`, `CARRIER_ORG_LEVEL_CODE`, `SUPPLY_ORG_LEVEL_CODE`, `WAYBILL_NUMBER`, `PLATFORM_DISCOUNT_POINT`,',
                     '`FLOAT_DISCOUNT_RATE`, `FLOAT_DISCOUNT_FREIGHT`, `ACTUAL_ORDER_MONEY`, `PLATFORM_DISCOUNT_RATE`, `FLOAT_FREIGHT_EXCHANGE`, ',
                    '`FREIGHT_EXCHANGE`, `BALANCE_TYPE`) ',
                    'VALUES ('',v_waybill_no, '','',v_ORDER_NO,'','',v_ORDER_NO,'','10','2017','07','', v_belong, '',',
                                        'NULL,'',v_belong,'','', v_belong, '','',v_belong,'','', ''物流公司',',V_ORDER_TYPE,'', '02', '02',',
                                        NOW(),',NULL, '100.00', '0.00', '0.00', '0.00', '0.00', '0.00',',
                                         ''100.00', '0.00', '0.0','',V_ARBITRAGE_CODE,'','0.00', '0.00', '0.00', '0.00',',
                                    ''02', '01', '', '01', '10', '', 'sysadmin',',NOW(),',',
                                     ''1', '0001', '0001', '', '0.00', ',
                                    ''1.00', '0.00', '100.00', '1.00', '0.00', '0.00', '1')');
            PREPARE insert_tmp_table_stmt FROM @insert_tmp_table;
            EXECUTE insert_tmp_table_stmt;
            DEALLOCATE PREPARE insert_tmp_table_stmt;
    SET i=i-1;
    END WHILE;
    END;

    函数运用:

    select MOD(50000,10000);
    select LPAD(1,5,0)
    
    SELECT LPAD(mod(2,2)+1,2,0);
  • 相关阅读:
    Java 练习(获取两个字符串中最大相同子串)
    STM32F103 实现 简易闹钟小程序
    STM32F103 实现 LCD显示年月日时分秒星期 并可逐值修改的日期 小程序
    Docker报错之“Failed to get D-Bus connection: Operation not permitted”
    数据结构解析
    每天一条DB2命令-004
    每天一条DB2命令-003
    每天一条DB2命令-002
    ElasticSearch系列
    模块三 GO语言实战与应用-BYTES包与字节串操作(下)
  • 原文地址:https://www.cnblogs.com/againn/p/7279733.html
Copyright © 2011-2022 走看看