Quelle est la différence entre une fonction et une procédure dans SQL Server?Fonctions et procédures dans SQL Server
Répondre
Vous pouvez intégrer des fonctions dans les instructions SQL comme vous le feriez pour tout funcion SQL natif comme COALESCE, REDUIRE, etc. Procs peut renvoyer une valeur, mais les valeurs qu'un être retournés sont limitées. Par exemple, si je me souviens bien, vous pouvez renvoyer une variable de table à partir d'une fonction, mais pas une proc stockée.
Donc, avec une fonction, vous pouvez faire des choses comme ceci:
SELECT dbo.MyFunc(myColumn) as [Column Alias Name] FROM MyTable
ou
SELECT * FROM dbo.MyTableVariableReturningFunc() as tbl
Avec procs stockées, vous pouvez obtenir la valeur de retour comme ceci:
DELCARE @ReturnVal as int
EXEC @ReturnVal = USP_MyStoredProc
Une autre diffrenc e est que les fonctions définies par l'utilisateur ne peuvent pas modifier les données de la base de données, alors que les procédures peuvent.
Logiquement, pour moi, une fonction serait utilisée pour effectuer tâches courantes dans la base de données entière dans une requête. Une procédure stockée serait d'autre part quelque chose que j'utiliserais pour effectuer des tâches complexes effectuées de façon régulière mais qui ne sont pas courantes. Par exemple, les procédures stockées que j'écris généralement saisissent des données d'un fichier et les téléchargent vers une table (tout en exécutant de nombreuses autres opérations dans le processus, telles que l'audit, etc.). Ce n'est pas quelque chose qui serait utilisé ailleurs, mais je le ferais une fois par jour.
- 1. SQL Server - Procédures individuelles et procédure unique
- 2. Procédures stockées système utiles dans SQL Server
- 3. Procédures stockées dans MS-SQL Server 2005 et Oracle
- 4. Tables manquantes de SQL Server et procédures stockées
- 5. Procédures stockées natives SQL Server 2005
- 6. PL/SQL: Récupération des noms de procédures et de fonctions dans un package
- 7. Comment puis-je voir le plan d'exécution des procédures stockées et des déclencheurs dans SQL Server?
- 8. Contrôle de version de base de données SQL Server 2008 Suppression de SP et de fonctions
- 9. Comptage des lignes de code des procédures stockées dans SQL Server 2005
- 10. Procédures stockées SQL Server: font-elles la queue?
- 11. SQL Server Enterprise Manager 2005 - procédures stockées ne s'affichent pas
- 12. Fonctions personnalisées SQL dans la bibliothèque d'entreprise
- 13. Table SQL et analyseur de colonnes pour les procédures stockées
- 14. SQL Server 2005 Performances et espace blanc
- 15. Proj.NET et Sql Server 2008
- 16. SQL Server et index
- 17. Fonctions d'agrégat SQL utilisant MIN et AVG
- 18. Authentification SQL Server dans SQL Server 2008
- 19. Fonctions de chaîne dans SQL
- 20. Tables dynamiques à partir d'UDF dans SQL Server
- 21. Procédures de tests unitaires (par opposition aux fonctions)
- 22. Quel style d'indentation utilisez-vous dans les procédures stockées SQL Server?
- 23. XML et Sql Server 2005
- 24. Accès aux ensembles de résultats depuis Procédures stockées Transact-SQL SQL Server
- 25. Comment puis-je calculer la taille des procédures stockées dans SQL Server 2005?
- 26. Comment précompiler des procédures stockées dans le serveur SQL?
- 27. Impossible de débogage SQL Server 2005 des procédures stockées dans Visual Studio Team System 2008
- 28. Quelles procédures stockées SYSTEM sont disponibles dans SQL Server Compact Edition?
- 29. Liste des procédures/fonctions stockées Ligne de commande Mysql
- 30. Comment apprendre des procédures stockées dans SQL Server en tant que programmeur Java?
est-ce pas quelque chose que vous pouvez trouver dans la documentation? J'essaie de comprendre la raison pour laquelle vous posez cette question. – shahkalpesh
C'est une question parfaitement valide et sans ambiguïté. Pour autant que je sache, SO n'est pas seulement pour des choses que vous ne pouvez pas trouver dans la documentation, alors ... – user39603