Hello

Je cherche un moyen de fragmenter cette requête mysql insérant les lignes de TABLE2 dans TABLE1 :

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
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 sql : Sélectionner tout - Visualiser dans une fenêtre à part
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 sql : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?

Merci