Prise en charge des instructions SQL CALL dans les méthodes intégrées

Vous pouvez utiliser la méthode call() surchargée dans l'interface Data pour appeler les procédures mémorisées qui sont déployées dans une base de données.

La seule autre méthode de l'interface Data qui est autorisée à exécuter les instructions CALL est la méthode updateMany(). Toutefois, cette méthode ne prend pas en charge le retour des paramètres OUT et INOUT. De même, elle ne prend pas en charge le renvoi d'objets ResultSet.

Contrairement aux autres instructions SQL qui sont prises en charge par les méthodes de l'interface Data, les instructions CALL peuvent accepter les paramètres IN, INOUT et OUT. Certains systèmes de gestion de base de données prennent en charge le renvoi des nombres de mise à jour à partir de l'instruction CALL, mais cela n'est ni autorisé par la norme SQL, ni directement pris en charge par pureQuery. (Vous pouvez toutefois obtenir des nombres de mise à jour si vous utilisez CallHandlerWithParameters.) Enfin, les instructions CALL peuvent renvoyer : aucun, un ou plusieurs résultats de requête.

Dans la mesure où les procédures mémorisées peuvent renvoyer de zéro à plusieurs résultats de requête, vous pouvez utiliser l'interface CallHandlerWithParameters pour écrire une méthode personnalisée de traitement des résultats ou l'interface StoredProcedureResult contenant des méthodes définies pour traiter les résultats.

Si votre base de données et le pilote JDBC prennent en charge le renvoi des nombres de mise à jour à partir de l'instruction CALL, vous devez coder une interface CallHandlerWithParameters personnalisée pour les récupérer.

Types de renvoi pour la méthode call() de l'interface Data :


Commentaires