Fonction et procédure stockée dans SQL Server

J&#8217apprends les fonctions et les procédures stockées depuis un certain temps, mais je ne sais pas pourquoi et quand je dois utiliser une fonction ou une procédure stockée. Elles me paraissent identiques, peut-être parce que je suis un peu novice en la matière.

Quelqu'un peut-il me dire pourquoi ?

Solution

Les fonctions sont des valeurs calculées et ne peuvent pas apporter de modifications permanentes à l'environnement de SQL Server (c'est-à-dire qu'aucune instruction INSERT ou UPDATE n'est autorisée).

Une fonction peut être utilisée en ligne dans les instructions SQL si elle renvoie une valeur scalaire, ou peut être jointe si elle renvoie un ensemble de résultats.

Un point à noter dans les commentaires, qui résument la réponse. Merci à @Sean K Anderson:

Les fonctions suivent la définition de l'informatique en ce sens qu'elles DOIVENT retourner une valeur et qu'elles ne peuvent pas modifier les données qu'elles reçoivent en paramètre (les arguments).

(les arguments). Les fonctions ne sont pas autorisées à modifier quoi que ce soit, doivent avoir au moins un paramètre et elles doivent retourner une valeur. Stocké les procs n'ont pas besoin d'avoir un paramètre, peuvent modifier les objets de la base de données, et ne doivent pas retourner une valeur.

Commentaires (12)

Écrivez une fonction définie par l'utilisateur lorsque vous souhaitez calculer et renvoyer une valeur à utiliser dans d'autres instructions SQL ; écrivez une procédure stockée lorsque vous souhaitez plutôt regrouper un ensemble éventuellement complexe d'instructions SQL. Il s'agit de deux cas d'utilisation assez différents, après tout !

Commentaires (1)

Les points suivants peuvent vous aider à décider du moment où il faut utiliser ce qui suit...

  1. Les procédures stockées ne peuvent pas retourner une variable de table alors que les fonctions peuvent le faire.

  2. Vous pouvez utiliser des procédures stockées pour modifier les paramètres de l'environnement du serveur, ce qui n'est pas possible avec les fonctions.

salutations

Commentaires (0)