Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Fonction vs procédure stockée dans SQL Server

Les fonctions sont des valeurs calculées et ne peuvent pas apporter de modifications environnementales permanentes à SQL Server (c'est-à-dire, pas de INSERT ou UPDATE déclarations autorisées).

Une fonction peut être utilisée en ligne dans 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 informatique en ce sens qu'elles DOIVENT renvoyer une valeur et ne peuvent pas modifier les données qu'elles reçoivent en tant que paramètres (les arguments). Les fonctions ne sont pas autorisées à modifier quoi que ce soit, doivent avoir au moins un paramètre et elles doivent renvoyer une valeur. Les Storedprocs n'ont pas besoin d'avoir un paramètre, peuvent changer les objets de la base de données et n'ont pas besoin de retourner une valeur.