Appel de la fonction pl/sql en java?
Donc j'ai une fonction qui vérifie le nombre d'annulations sont dans ma réservation table:
CREATE OR REPLACE FUNCTION total_cancellations
RETURN number IS
t_canc number := 0;
BEGIN
SELECT count(*) into t_canc
FROM booking where status = 'CANCELLED';
RETURN t_canc;
END;
/
À exécuter son en sql j'utilise:
set serveroutput on
DECLARE
c number;
BEGIN
c := total_cancellations();
dbms_output.put_line('Total no. of Cancellations: ' || c);
END;
/
Mon résultat est:
anonymous block completed
Total no. of Cancellations: 1
Ma question est: quelqu'un peut-il m'aider à appeler la fonction en JAVA, j'ai essayé, mais avec pas de chance.
Je veux apprendre de vos erreurs. Merci de partager ce
si la fonction est simple et ne modifie pas les données, vous pouvez également utiliser un traditionnel
Java
code.si la fonction est simple et ne modifie pas les données, vous pouvez également utiliser un traditionnel
PreparedStatement
avec "select total_cancellations() from dual
".OriginalL'auteur SqlNoob | 2014-10-24
Vous devez vous connecter pour publier un commentaire.
Java fournit
CallableStatements
à de telles fins .imprime de la même manière que dans le pl/sql. Comme par docs
Connexion#prepareCall()
,Vous pouvez également passer des paramètres pour la fonction . pour ex ,
permettra de transmettre les valeurs de la fonction en tant que paramètre d'entrée.
Espérons que cette aide !
OriginalL'auteur San Krish
source
Si vous recevez l'erreur ci-dessous, vous pouvez utiliser le premier format.
Exemple de code.
OriginalL'auteur giannis christofakis