我已经看到它的功能。但无法获得使用的原因为什么我们需要使用存储过程?
-6
A
回答
0
存储过程是一组具有指定名称的SQL语句,它以编译形式存储在数据库中,以便它可以被多个程序共享。我们可以轻松地使用无论何时需要存储过程
2
我们需要使用存储过程的原因如下。
1.可重复使用的执行计划
比相反查询,SP使执行计划的同时节省它的高速缓存,其可以重复使用
2.共享
存储过程可以通过代码中使用的查询在不同的应用程序之间共享。
3.保护了SQL注入
SP通过使用支票,而不是查询提供了注入攻击安全
4.一个地方的变化
它提供了一个好处在任何地方反映变化的地方进行变更。
5.执行权限
SP具有一个功能,我们只能向用户或角色
+0
该链接提供[USES](http://stackoverflow.com/a/209040/7609073) –
相关问题
- 1. 什么是线程本地存储?我们为什么需要它?
- 2. 装配需要什么?为什么我们使用它们?
- 3. 为什么我们需要瞬态故障处理存储?
- 4. 为什么我需要使用存储过程的PDOStatement :: nextRowSet来获取结果?
- 5. 为什么我们需要为每个线程使用NSAutoreleasepool?
- 6. 为什么NHibernate需要Oracle存储过程返回结果集?
- 7. 为什么我们需要建议一个变量存储在寄存器中?
- 8. 为什么我们需要fieldset标签?
- 9. 为什么我们需要RIA?
- 10. 为什么我们需要.htaccess的worpdress?
- 11. 为什么我们需要9补丁?
- 12. 为什么我们需要在JavaScript
- 13. 我们为什么需要纤维
- 14. 为什么我们需要BeginGetResponse和BeginRead?
- 15. 为什么我们需要TensorFlow tf.Graph?
- 16. 为什么我们需要Bower和Nuget?
- 17. 为什么我们需要ng-click?
- 18. 为什么我们需要`ngDoCheck`
- 19. 为什么我们需要设置SONAR_RUNNER_OPTS?
- 20. 为什么我们需要Anaconda 2.7?
- 21. 为什么我们需要mktemp?
- 22. 为什么我们需要ClassMethods和InstanceMethods?
- 23. 为什么我们需要ioc容器
- 24. 为什么我们需要RBAC许可?
- 25. 为什么我们需要scalaz.stream迭代?
- 26. 为什么我们需要Buffer.isBuffer方法?
- 27. 为什么我们需要WCF
- 28. 为什么我们需要addRequestHeader方法?
- 29. 为什么我们需要编写log.isDebugEnabled?
- 30. 我们为什么要使用`realloc`如果我们需要一个'TMP buffer`
[这](http://stackoverflow.com/questions/459457/得到执行许可什么是存储过程)链接解释了它是什么以及它有什么好处(如果有的话)。 –