limit
オプションを使用する手順を作成したいinsert into
.. with select
.. またはcreate table as select
.....
一度に 500K レコードのみを挿入するために使用したいlimit
ので、今回は 1.5mil レコードを挿入しようとしているので、今回は count3 を設定する while ループを使用しています。
call proc1( with long sql statement......................)
DELIMITER //
CREATE PROCEDURE proc1(IN sqllines text)
BEGIN
DECLARE valFrom INT;
DECLARE valTo INT;
DECLARE count INt default 0;
SET @sqlin = sqllines;
SET valFrom = 0;
SET valTo = 500000;
SET @sql = ('@sqlin LIMIT valFrom , valTo');
WHILE count < 3
DO
PREPARE stmt from @sql;
EXECUTE stmt;
SET valFrom = valFrom+500000;
SET valTo = valTo+500000;
set count = count + 1;
END WHILE;
END;
//
DELIMITER ;