Procédures vs Fonctions en Programmation
Procédures et fonctions en programmation, permettent aux programmeurs de regrouper des instructions dans un seul bloc et il peut être appelé à partir de divers endroits dans le programme. Le code devient plus compréhensible et plus compact. En effectuant les modifications en un seul endroit, tout le code sera affecté. A l'aide de fonctions et de procédures; un code linéaire et long peut être divisé en sections indépendantes. Ils offrent plus de flexibilité au codage de divers langages de programmation et bases de données.
Que sont les fonctions ?
Les fonctions sont capables d'accepter des paramètres qui sont également appelés arguments. Ils exécutent les tâches en fonction de ces arguments ou paramètres et renvoient des valeurs de types donnés. Nous pouvons mieux l'expliquer à l'aide d'un exemple: une fonction accepte une chaîne en tant que paramètre et renvoie la première entrée ou le premier enregistrement d'une base de données. Il prend en compte le contenu d'un champ spécifique qui commence par de tels caractères.
La syntaxe de la fonction est la suivante:
CRÉER OU REMPLACER LA FONCTION my_func
(p_name IN VARCHAR2:=‘Jack’) renvoie varchar2 comme début … fin
Quelles sont les procédures ?
Les procédures peuvent accepter les paramètres ou les arguments et elles exécutent des tâches selon ces paramètres. Si une procédure accepte une chaîne en tant que paramètre et qu'elle donne une liste d'enregistrements dans la base de données pour lesquels le contenu d'un champ spécifique commence par de tels caractères.
La syntaxe des procédures est la suivante:
CRÉER OU REMPLACER LA PROCÉDURE my_proc
(p_name IN VARCHAR2:=‘Jack’) as begin … end
Principalement, il existe deux manières de passer un paramètre dans les fonctions et les procédures; par valeur ou par référence. Si le paramètre est passé par une valeur; la modification est affectée à l'intérieur de la fonction ou de la procédure sans affecter la valeur réelle de celle-ci.
Par contre, si les paramètres sont passés par des références; la valeur réelle de ce paramètre sera modifiée partout où il est appelé dans le code conformément aux instructions.
Différence entre les procédures et les fonctions
• Lorsque le paramètre est passé dans la procédure; elle ne renvoie aucune valeur alors qu'une fonction renvoie toujours une valeur.
• L'une des principales différences entre les deux est que les procédures ne sont pas utilisées dans les bases de données alors que les fonctions jouent un rôle important dans le retour des valeurs d'une base de données.
• Les procédures peuvent renvoyer plusieurs valeurs et les fonctions peuvent renvoyer des valeurs limitées.
• Les opérations DML peuvent être utilisées dans les procédures stockées; cependant, ils ne sont pas possibles dans les fonctions.
• Les fonctions ne peuvent renvoyer qu'une seule valeur et c'est obligatoire alors que les procédures peuvent renvoyer n ou zéro valeurs.
• Dans les fonctions, la gestion des erreurs ne peut pas être effectuée alors qu'elle peut être effectuée dans les procédures stockées.
• Les paramètres d'entrée et de sortie peuvent être passés dans les procédures alors que dans le cas des fonctions; seuls les paramètres d'entrée peuvent être passés.
• Les fonctions peuvent être appelées à partir de procédures alors qu'il n'est pas possible d'appeler une procédure à partir d'une fonction.
• La gestion des transactions peut être envisagée dans les procédures et ne peut pas être envisagée dans le cas des fonctions.