Procédure stockée vs fonction
Les procédures et fonctions stockées sont deux types de blocs de programmation. Les deux doivent avoir des noms d'appel. Les noms d'appels sont utilisés pour les appeler dans un autre bloc de programmation comme les fonctions et les packages des procédures ou les requêtes SQL. Ces deux types d'objets acceptent les paramètres et effectuent la tâche derrière ces objets. Ceci est la syntaxe (dans Oracle) pour créer une procédure stockée,
créer ou remplacer la procédure procédure (paramètres)
comme
commencer
déclarations;
exception
gestion des exceptions
fin;
Et voici la syntaxe pour créer une fonction (dans Oracle),
Créer ou remplacer la fonction Fonction_name (paramètres)
retour return_datatype
comme
commencer
déclarations;
return return_value / variable;
exception;
gestion des exceptions;
fin;
Procédures stockées
Comme mentionné ci-dessus, les procédures stockées sont nommées blocs de programmation. Ils acceptent les paramètres comme entrée et processus de l'utilisateur en fonction de la logique derrière la procédure et donnent le résultat (ou effectuent une action spécifique). Ces paramètres peuvent être dans les types, hors et inut. Des déclarations variables, des affectations variables, des instructions de contrôle, des boucles, des requêtes SQL et d'autres fonctions / procédures / appels de package peuvent être à l'intérieur du corps des procédures.
Les fonctions
Les fonctions sont également nommées blocs de programmation, qui doivent renvoyer une valeur à l'aide de l'instruction de retour, et avant qu'il ne renvoie une valeur, son corps effectue également certaines actions (selon la logique donnée). Les fonctions acceptent également les paramètres à exécuter. Les fonctions peuvent être appelées à l'intérieur des requêtes. Lorsqu'une fonction est appelée à l'intérieur d'une requête de sélection, elle s'applique à chaque ligne de l'ensemble de résultats de la requête de sélection. Il existe plusieurs catégories de fonctions Oracle. Ils sont,
Il y a des sous-catégories de fonctions à ligne unique.
Quelle est la différence entre la fonction et la procédure stockée? • Toutes les fonctions doivent renvoyer une valeur en utilisant l'instruction RETOUR. Les procédures stockées ne renvoient pas de valeurs en utilisant l'instruction RETOUR. Retour instruction à l'intérieur d'une procédure renverra son contrôle au programme d'appel. Les paramètres OUT peuvent être utilisés pour renvoyer les valeurs des procédures stockées. • Les fonctions peuvent être appelées à l'intérieur des requêtes, mais les procédures stockées ne peuvent pas être utilisées à l'intérieur des requêtes. • Le type de données de retour doit être inclus pour créer une fonction, mais dans la procédure stockée DDL, ce n'est pas. |