Bonjour,
J'aurai une petite question sur les insert.
J'utilise QueryRunner qui simplifie l'exécution des requête.
Je développe un batch.
Dans un fichier properties, j'ai une requête qui ressemble à ça :
En Java, j'utilise la méthode update de la classe QueryRunner
Code : Sélectionner tout - Visualiser dans une fenêtre à part requete.operation = insert into operations (ope_id,ope_num_operation) select ope_id, ope_num_operation from operation where date between ? and ?)
update(Connection connection, String sql, Objet[] param)
Le ? est remplacé par les élements du tableau param.
Ma question est que j'ai remplacé ma requête par :
? serait remplacé par une liste en Java.
Code : Sélectionner tout - Visualiser dans une fenêtre à part requete.operation = insert into operations (ope_id,ope_num_operation) ?
Je sais pas si c'est possible ???
En gros, je récupère le résultat du "select ope_id, ope_num_operation from operation where date between ? and ?" dans une arrayList.
et ensuite j'injecte cette liste dans la requête suivante : insert into operations (ope_id,ope_num_operation) ?
Vous allez me dire pourquoi me prendre la tête sur ça, mais là j'ai simplifié, la requête que je veux stocker dans une liste est assez complexe, et j'aimerai gérér ça en Java, car j'ai des traitement à faire sur ses données.
Sinon une autre solution, serait de parcourir la liste et faire un insert sur chaque élement.
En gros, au lieu de faire ça :
j'aimerai faire ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 For (liste.size) { insert into operation (ope_id) values (list.get(0)) }
Code : Sélectionner tout - Visualiser dans une fenêtre à part insert into operation (ope_id) (liste)
Partager