$sql.addBatch
¶
Description¶
Ajoute un set de valeurs en vue d'une exécution par batch. L'utilisation de cette méthode ne fait sens que pour les requêtes de mise à jour, de type UPDATE ou DELETE.
Syntaxe¶
$sql.addBatch( statement , data [ , options ] )
Paramètres¶
statement
pojo- Référence de prepared statement auquel ajouter le batch. La référence
peut être obtenue avec la méthode
$sql.prepareStatement
data
array / map / string / number / date / time / timestamp / file-
Données à ajouter en batch. Le paramètre ne doit pas être null. Le paramètre peut prendre différentes formes en fonction de la requête pour sur laquelle il doit s'appliquer:
- Valeur litérale unique: La requête n'attend qu'un seul paramètre de type simple (string, number, date, time, timestamp ou file)
- Tableau 1D : Dans ce cas, les valeurs du tableau sont reprises comme valeurs pour le prepared statement.
- Tableau 2D (tableau de tableau 1D) : Cette syntaxe permet de passer plusieurs jeux de données à la fois. Dans ce cas, la méthode inscrit autant d'entrées au batch qu'il y a de tableaux 1D
- Map : Ce cas s'applique si la requête référence des paramètres nommés. Le map doit fournir les valeurs pour les différents noms de paramètres attendus par la requête.
- Tableau de map : Cette syntaxe permet de passer plusieurs jeux de données à la fois, en utilisant la notation avec des paramètres nommés. Dans ce cas, la méthode inscrit autant d'entrées au batch qu'il y a de maps dans le tableau.
Veuillez prendre connaissance de la note traitant de la valeur
null
dans la documentation de$sql.select
. options
map-
Map d'options. Les options reconnues sont:
connection
string- Nom de connexion de laquelle tirer les paramètres de connexion. Doit référencer une connexion définie dans le fichier de configuration.
Retour¶
Retourne true
si le prepared statement référencé par la clé existe dans
le cache, sinon false
.
Exemple¶
Exemple d'insertions au moyen d'un batch. L'idée c'est de créer un prepared statement et ensuite de passer des sets de valeurs au statement et de les référencer en tant que batch. En fait, on ne fait que de pusher des données sur le statement, puis on lance le batch à la fin. On indique au passage d'exécuter le batch sans auto-commit (il n'y aura qu'un seul commit à la fin).
Notez au passage l'usage de try
/finally
. La libération du statement
est faite dans la clause finally
pour s'assurer qu'elle soit bien
effectuée, même en cas d'exception.
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Exemple équivalent en utilisant des paramètres nommés:
1 2 3 4 5 6 7 8 9 10 11 12 |
|