Différence entre la fonction UDF et la procédure stockée dans SQL Différence entre

Anonim

UDF par rapport à la procédure stockée dans SQL

L'environnement SQL est livré avec divers composants qui fonctionnent avec lui pour la livraison réussie des tâches en cours. Il y a la fonction définie par l'utilisateur et la procédure stockée, qui sont communes dans l'environnement SQL. Ce sont les différences entre ces deux qui sont examinées ci-dessous.

Différences

La première différence avec la fonction définie par l'utilisateur est qu'elle est programmée de telle sorte qu'elle doit renvoyer une valeur. La procédure stockée a une certaine possibilité de renvoyer ou non une valeur. Cela dépend si la procédure stockée a une valeur à renvoyer ou non.

Une autre différence entre la fonction définie par l'utilisateur et la procédure stockée concerne les instructions. La fonction définie par l'utilisateur permet uniquement de lire les instructions select tandis que les instructions DML ne sont pas autorisées. D'un autre côté, la procédure stockée permet d'utiliser les deux instructions select, ainsi que les instructions DML, qui peuvent également être mises à jour et manipulées.

La fonction définie par l'utilisateur permet uniquement l'entrée de paramètres mais ne prend pas en charge la sortie des mêmes paramètres. La procédure stockée, au contraire, prend en charge les paramètres d'entrée et de sortie. L'UDF n'autorise pas non plus l'utilisation de blocs try-catch. La procédure stockée permet l'utilisation des blocs try catch pour la gestion des exceptions.

L'UDF n'autorise pas non plus les transactions dans les fonctions. Cette fonctionnalité est disponible dans la procédure stockée qui permet le traitement des transactions. UDF n'autorise pas non plus l'utilisation de variables de table et n'autorise pas non plus les tables temporaires. La procédure stockée permet cependant l'utilisation de variables de table ainsi que d'une table temporaire.

Dans une fonction, la fonction définie par l'utilisateur n'autorise pas l'appel des tables stockées. C'est assez différent quand il s'agit de procédures stockées, ce qui permet d'appeler la fonction sans aucune limitation. Avec les fonctions, UDF n'autorise pas l'appel des fonctions précitées à partir d'une instruction select. La procédure stockée indique également que les procédures ne peuvent pas être appelées à partir des instructions Where / Select et Having. Exec ou Execute peut cependant être utilisé pour appeler ou même exécuter la procédure stockée. Last but not least est que UDF peut être utilisé dans la création d'une clause de jointure, en exploitant le jeu de résultats. Dans la procédure stockée, cela n'est pas possible car aucune procédure n'est autorisée dans une clause de jointure. Il est également important de noter que la procédure stockée permet le retour à zéro ou même n valeurs, alors que UDF peut seulement revenir à une valeur spécifique et prédéfinie qui est prédéfinie.

Résumé

La fonction doit obligatoirement renvoyer une valeur alors qu'elle ne l'est pas pour la procédure stockée.

Sélectionnez les instructions acceptées uniquement dans les fonctions UDF alors que les instructions DML ne sont pas requises.

La procédure stockée accepte toutes les instructions ainsi que les instructions DML.

UDF autorise uniquement les entrées et non les sorties.

La procédure stockée permet à la fois les entrées et les sorties.

Les blocs de saisie ne peuvent pas être utilisés dans la fonction UDF, mais peuvent être utilisés dans une procédure stockée.

Aucune transaction n'est autorisée dans les fonctions dans UDF mais dans la procédure stockée, elles sont autorisées.

Seules les variables de table peuvent être utilisées dans les tables UDF et non temporaires.

La procédure stockée permet à la fois les variables de table et les tables temporaires.

UDF n'autorise pas l'appel de procédures stockées à partir de fonctions alors que les procédures stockées autorisent l'appel de fonctions.

UDF est utilisé dans la clause de jointure alors que les procédures stockées ne peuvent pas être utilisées dans la clause de jointure.

La procédure stockée permet toujours de revenir à zéro. L'UDF, au contraire, a des valeurs qui doivent revenir à un point prédéterminé.