Maison  >  Article  >  base de données  >  Quelle est la différence entre les procédures et les fonctions Oracle

Quelle est la différence entre les procédures et les fonctions Oracle

WBOY
WBOYoriginal
2022-05-31 15:28:413999parcourir

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.

Quelle est la différence entre les procédures et les fonctions Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 10, Oracle version 12c, ordinateur Dell G3.

Quelle est la différence entre les procédures et les fonctions Oracle

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 :

Quelle est la différence entre les procédures et les fonctions Oracle

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn