Si nous avons besoin d'informations qui ne peuvent être obtenues que via une requête dynamique, ne devrait-elle pas être écrite directement dans le code de l'application (dans DAL) plutôt que dans la procédure stockée? Parce que le bénéfice que nous obtenons de SP est déjà perdu si nous utilisons une requête dynamique qui est le plan d'exécution d'exécution déjà enregistré avec lui.Pourquoi écrire une requête dynamique dans une procédure stockée
Répondre
Il y a beaucoup d'autres facets of stored procedures à considérer en plus de leurs fonctionnalités de mise en cache de plan d'exécution, donc je ne pense pas qu'il soit juste de rejeter leur utilisation simplement parce qu'ils vont contenir une requête ad-hoc.
(Il convient également de noter que la réutilisation des plans d'exécution bits correctement formé de SQL dynamique est no barrier)
Sans oublier la sécurité (non mentionnée dans les «facettes des procédures stockées») Les autorisations sont très faciles à gérer pour les procédures stockées, et les développeurs d'applications peuvent ne pas avoir accès au code source du SP. –
si votre application appelle actuellement que les procédures stockées, puis le garder cohérent et appeler une procédure stockée et faire le SQL dynamique là-bas. Si votre application est déjà pleine d'instructions SQL générées, créez simplement le SQL dynamique à cet endroit. N'oubliez pas que l'utilisation d'une procédure stockée pour générer dynamiquement SQL ne vous protégera pas d'une attaque par injection. Cependant, les restrictions de type et de taille de paramètre de la procédure peuvent aider à réduire votre exposition à l'injection.
- 1. Exécuter une requête dans une procédure stockée Oracle
- 2. Procédure stockée exécutant une autre procédure stockée
- 3. comment écrire une condition if cas dans la procédure stockée
- 4. écrire une requête dynamique dans sqlserver
- 5. Mysql (5.1.41) SQL dynamique dans une procédure stockée issue
- 6. Combiner une procédure stockée et une requête dans T-SQL
- 7. Écrire les paramètres de procédure stockée dans une colonne XML
- 8. Comment avoir du SQL dynamique dans une procédure stockée MySQL
- 9. Affecter les résultats d'une procédure stockée dans une variable dans une autre procédure stockée
- 10. dynamique procédure stockée dans Sql Server 2005
- 11. Exécuter une procédure stockée dans une vue?
- 12. Comment écrire une procédure stockée postgres qui ne retourne rien?
- 13. Comment stocker les résultats d'une requête dans une procédure stockée
- 14. procédure stockée supprimer requête
- 15. Passer un tableau dans une procédure stockée
- 16. SSRS exécutant une procédure stockée dans Oracle
- 17. comment créer une procédure stockée à partir d'une procédure stockée
- 18. Pourquoi ne peut-on pas utiliser l'instruction INSERT EXEC dans une procédure stockée appelée par une autre procédure stockée?
- 19. Comment récupérer une valeur et l'utiliser dans une procédure stockée dans une requête SQL?
- 20. La procédure stockée dans la requête
- 21. Sélection d'une colonne renvoyée par une procédure stockée
- 22. requête oracle pour trouver des privilèges sur une procédure stockée
- 23. boucle T-SQL dans une procédure stockée
- 24. Exécution d'un FuncView dans une procédure stockée
- 25. Simple Sélectionnez dans une procédure stockée Oracle
- 26. Comment éditer une procédure stockée dans MySQL?
- 27. SHA256 dans une procédure stockée T-SQL
- 28. sql2000 boucle dans une procédure stockée
- 29. Procédure stockée dans une instruction d'insertion
- 30. Exécuter une procédure stockée dans SQL Developer?
une chose que je ressens est une meilleure maintenabilité du code. –