存储过程批量添加数据
-- 批量创建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);