J'utilise développeur SQL Oracle ou Oracle SQL * PlusComment puis-je appeler la procédure stockée pl/sql (fonction, renvoi de la valeur numérique)?
7
A
Répondre
16
Dans SQL Plus, vous pouvez le faire:
var x number
exec :x := myfunction();
Ou vous pourriez être en mesure d'utiliser SQL:
select myfunction() from dual;
2
L'exemple ci-dessus montre comment appeler une fonction à partir de SQL * Plus. Si vous appelez une fonction à partir d'une procédure PL/SQL, consultez l'exemple ci-dessous.
DECLARE
x NUMBER;
BEGIN
x := myfunction();
END;
Un exemple plus complexe qui retourne une valeur de 100 (10 * 10):
DECLARE
x NUMBER;
FUNCTION mysquare(in_y IN NUMBER) RETURN NUMBER IS
BEGIN
RETURN in_y * in_y;
END mysquare;
BEGIN
dbms_output.enable;
x := mysquare(10);
dbms_output.put_line(x);
END;
Je ne peux pas choisir parce que j'ai une déclaration de mise à jour dans la fonction SQL. L'exec ... fonctionne. Merci! – Mattan
Quel est le chemin complet? Et si c'est une fonction ou une procédure que vous testez dans un paquet? – user447607