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
Partager