DELIMITER $$
DROP PROCEDURE IF EXISTS test$$
CREATE PROCEDURE test() BEGIN DECLARE COUNT INT DEFAULT 0; WHILE COUNT < 10000000 DO
INSERT INTO orders (amount, product)
VALUES (
          (SELECT FLOOR((RAND() * (9999 - 1000 + 1)) + 1000)),
          (SELECT *
           FROM
             (SELECT 'A'
              UNION ALL SELECT 'B'
              UNION ALL SELECT 'C'
              UNION ALL SELECT 'D'
              UNION ALL SELECT 'E'
              UNION ALL SELECT 'F'
              UNION ALL SELECT 'G'
              UNION ALL SELECT 'H'
              UNION ALL SELECT 'I'
              UNION ALL SELECT 'J') t
           ORDER BY RAND()
           LIMIT 1));
SET COUNT = COUNT + 1; END WHILE; END$$
DELIMITER ;

START TRANSACTION;
CALL test();
COMMIT;