Requete INSERT INTO par paquet
Hello
Je cherche un moyen de fragmenter cette requête mysql insérant les lignes de TABLE2 dans TABLE1 :
Code:
1 2
| INSERT INTO TABLE1
SELECT * TABLE2 |
L'idée est de créer une procédure stockée qui prend en paramètre TABLE1, TABLE2, Size (taille des paquets).
Code:
Stored_Procedure(in Table TableFrom, in Table TableTo, in int size)
On aurait plusieurs requêtes qui insèrent des éléments par paquet de taille 'size' de TABLE2 vers TABLE1.
Par exemple si on a 210 rows dans TABLES2 et qu'on paramètre size=50. Le fonctionnement serait (en utilisant limit x, y par exemple)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| INSERT INTO TABLE1
SELECT * TABLE2 ORDER BY ID DESC limit 1, 51
INSERT INTO TABLE1
SELECT * TABLE2 ORDER BY ID DESC limit 52, 102
INSERT INTO TABLE1
SELECT * TABLE2 ORDER BY ID DESC limit 102, 152
INSERT INTO TABLE1
SELECT * TABLE2 ORDER BY ID DESC limit 153, 203
INSERT INTO TABLE1
SELECT * TABLE2 limit ORDER BY ID DESC 203, 210 |
Peut-être que j'ai aussi besoin de récupérer le numéro de la ligne à chaque fois etc.
Quelqu'un aurait une idée pour découper cette query 8-)?
Merci