Les procédures stockées Oracle sont un langage de requête qui exécute à plusieurs reprises un ensemble d'instructions SQL dans un seul bloc de code. L'avantage des procédures stockées est que vous pouvez réutiliser le code SQL écrit et testé, simplifier le processus d'écriture des instructions SQL et améliorer l'efficacité d'exécution du code. Mais parfois, nous avons besoin d'obtenir certaines valeurs ou résultats de la procédure stockée. Cela nécessite d'utiliser la valeur de retour de la procédure stockée.
La valeur de retour d'une procédure stockée peut être une valeur numérique, une chaîne, une date ou une valeur booléenne. Les valeurs de retour des procédures stockées contribuent à rendre votre code plus facile à utiliser, lisible et réutilisable.
La valeur de retour de la procédure stockée Oracle n'a pas de type de valeur de retour évident comme une fonction. Par conséquent, dans la procédure stockée, la valeur doit être transmise au programme qui l'appelle via les paramètres OUT ou IN OUT.
Dans Oracle, la valeur de retour d'une procédure stockée peut être renvoyée via les paramètres OUT ou IN OUT. Les paramètres OUT ou IN OUT permettent à une procédure stockée de renvoyer une valeur de résultat ou de transmettre la valeur d'un paramètre d'entrée à une procédure stockée, et permettent à la procédure stockée et au programme appelant d'interagir par rapport à ces valeurs.
Voici une procédure stockée simple qui génère le produit de deux valeurs :
CREATE OR REPLACE PROCEDURE SP_MULTIPLY (input1 IN NUMBER, input2 IN NUMBER, result OUT NUMBER) AS BEGIN result := input1 * input2; END;
Dans cette procédure stockée, nous acceptons deux paramètres d'entrée input1 et input2 et stockons leur produit dans la variable de résultat, lesquelles variables sont renvoyées en tant que paramètres OUT.
La procédure stockée est appelée comme suit :
DECLARE output NUMBER; BEGIN SP_MULTIPLY(5, 10, output); DBMS_OUTPUT.PUT_LINE('The product is ' || output); END;
Lors de l'appel de la procédure stockée, nous devons déclarer une sortie variable, la transmettre comme paramètre OUT à la procédure stockée SP_MULTIPLY et stocker le résultat. Une fois la procédure stockée renvoyée, nous pouvons appeler DBMS_OUTPUT.PUT_LINE pour afficher les résultats.
En plus des paramètres OUT, les procédures stockées peuvent également utiliser les paramètres IN OUT pour échanger des données entre la procédure stockée et le programme appelant. Par exemple, dans la procédure stockée ci-dessous, nous accepterons une valeur numérique en entrée, l'ajouterons à une valeur numérique existante et renverrons le résultat en le stockant dans le paramètre OUT.
CREATE OR REPLACE PROCEDURE SP_ADD (input IN NUMBER, result IN OUT NUMBER) AS BEGIN result := result + input; END;
La façon d'appeler cette procédure stockée est la suivante :
DECLARE output NUMBER := 10; BEGIN SP_ADD(5, output); DBMS_OUTPUT.PUT_LINE('The result is ' || output); END;
Lors de l'appel de la procédure stockée, nous passons une valeur numérique en entrée et passons également une autre variable numérique en sortie comme paramètre IN OUT. Une fois la procédure stockée exécutée, la variable result contient le résultat final.
Pour résumer, la valeur de retour d'une procédure stockée peut être renvoyée via les paramètres OUT ou IN OUT. Les paramètres OUT ou IN OUT permettent à une procédure stockée de renvoyer une valeur de résultat ou de transmettre la valeur d'un paramètre d'entrée à une procédure stockée, et permettent à la procédure stockée et au programme appelant d'interagir par rapport à ces valeurs. Lors de l'écriture d'une procédure stockée, nous devons accorder une attention particulière au type et à la méthode de livraison des paramètres afin d'utiliser correctement la valeur de retour de la procédure stockée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!