zpjx 发表于 2018-10-23 10:04:39

mysql 动态sql 生成测试数据

drop procedure generator;  
delimiter //
  
CREATE PROCEDURE generator
  
(
  
    t_count INT(10)
  
)
  
BEGIN
  
    DECLARE v_sql varchar(1000);
  
    DECLARE v_count INT;
  
    SET v_count = 0;
  
    loop_label:LOOP
  
      SET v_count = v_count + 1;
  
                IF v_count%100000=0 THEN
  
                  select v_count;
  
                END IF;
  
            IF v_count>t_count THEN
  
                LEAVE loop_label;
  
            END IF;
  
                SET v_sql = CONCAT('INSERT INTO testtable VALUES (',v_count,',\'FAILED\',v_count,'\')');
  
            SET @sql = v_sql;
  
            PREPARE sl FROM @sql;
  
            EXECUTE sl;
  
            DEALLOCATE PREPARE sl;
  
    END LOOP;
  

  
END;
  
//
  
delimiter ;


页: [1]
查看完整版本: mysql 动态sql 生成测试数据