Maison > Article > base de données > Quelle est la différence entre les procédures et les fonctions Oracle
La différence entre les procédures oracle et les fonctions : 1. La procédure oracle a zéro ou plusieurs paramètres et aucune valeur de retour, tandis que la fonction oracle peut n'avoir aucun paramètre ou plusieurs paramètres et une valeur de retour 2. La procédure oracle est indépendante ; L'instruction d'exécution est appelée, tandis que la fonction oracle est appelée en tant qu'expression juridique.
L'environnement d'exploitation de ce tutoriel : système Windows 10, Oracle version 12c, ordinateur Dell G3.
1. Les procédures et fonctions Oracle sont stockées dans la base de données sous forme compilée
Une fonction peut n'avoir aucun paramètre ou plusieurs paramètres et une valeur de retour.
Les procédures ont zéro ou plusieurs paramètres et aucune valeur de retour.
2. Les fonctions et les procédures peuvent recevoir ou renvoyer zéro ou plusieurs valeurs via des listes de paramètres. La principale différence entre les fonctions et les procédures n'est pas la valeur de retour, mais la façon dont elles sont appelées.
Les procédures Oracle sont appelées comme une instruction d'exécution indépendante :
pay_involume(invoice_nbr,30,due_date);
La fonction est appelée comme une expression légale :
order_volumn:=open_orders(SYSDATE,30);
La syntaxe de création d'une procédure est la suivante :
La syntaxe de chaque paramètre est la suivante
paramter_name mode datatype [(:=|DEFAULT) value]
Développez les connaissances :
le mode a trois formes : IN, OUT, INOUT.
IN signifie que lorsque le processus est appelé, les valeurs des paramètres réels sont transmises au processus et les paramètres formels sont considérés comme en lecture seule. Lorsque le processus se termine, le contrôle reviendra à l'environnement de contrôle et. les valeurs des paramètres réels ne changeront pas.
OUT Lors de l'appel d'une procédure, les valeurs des paramètres réels seront ignorées. Dans la procédure, les paramètres formels ne peuvent se voir attribuer que des valeurs, mais les données ne peuvent pas être lues à partir d'eux. Une fois la procédure terminée, le contenu du formel. Les paramètres seront affectés aux paramètres réels.
INOUT Ce mode est une combinaison de IN et OUT ; dans le processus Oracle, la valeur du paramètre réel sera transmise au paramètre formel et la valeur du paramètre de situation peut être lue ou écrite une fois le processus terminé. , la valeur du paramètre de situation sera affectée au paramètre réel.
Tutoriel recommandé : "Tutoriel vidéo Oracle"
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!