随便胡乱说几点,大家补充一下。
1。预编译,已优化,效率较高。避免了SQL语句在网络中传输然后再解释的低效率。
2。如果公司有专门的DBA,写存储过程可以他来做,程序员只要按他提供的接口调用就好了。这样分开来做,比较清楚。
3。修改方便。嵌入在程序中的SQL语句修改比较麻烦,而且经常不能肯定该改的是不是都改了。SQLSERVER上的存储过程修改就比较方便,直接改掉该存储过程,调用它的程序基本不用动,除非改动比较大(如改了传入的参数,返回的数据等)。
4。会安全一点。不会有SQL语句注入问题。
 
当然,也有缺点。特别是业务逻辑比较复杂时,全用存储过程来写,估计也累的够呛。

■SQL存储过程执行起来比SQL命令文本快得多。当一个SQL语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它。

■调用存储过程,可以认为是一个三层结构。这使你的程序易于维护。如果程序需要做某些改动,你只要改动存储过程即可

■你可以在存储过程中利用Transact-SQL的强大功能。一个SQL存储过程可以包含多个SQL语句。你可以使用变量和条件。这意味着你可以用存储过程建立非常复杂的查询,以非常复杂的方式更新数据库。

■最后,这也许是最重要的,在存储过程中可以使用参数。你可以传送和返回参数。你还可以得到一个返回值(从SQL RETURN语句)。

(1)安全性。使用视图隐藏了数据的来源。   
(2)方便性。在多表连接查询时,可以使用视图提高效率。  
   
你用了视图后,你更改元数据如,表名,列名,那你就只需要改视图的代码,而不需要改程序! 
如果你要经常对几个表join查询,那你做成视图,用的时候只要select   *   from   view就行了!

最新文章

  1. python3  threading初体验
  2. [软件推荐]快速文件复制工具(Limit Copy) V4.0 绿色版
  3. heart beat/心跳包
  4. 记录下ECharts的一些功能
  5. 算法训练 Hanoi问题
  6. poj 2127 LCIS 带路径输出
  7. 史上最全的phpstorm常用配置
  8. nginx server_参数配置总结(转)
  9. 气死人不偿命,Q_OBJECT导致的C++报错,而且还看不明白(#ifdef没控制好,导致什么都不认识了)
  10. 电磁兼容性设计学习笔记--PCB中地的布局
  11. PHP批量审核ajax jquery
  12. CBV进阶(一)
  13. [OpenGL] mac上运行NateRobin的OpenGL教程找不到 data file 解决方案
  14. 201521123074 《Java程序设计》第13周学习总结
  15. Ext JS 6开发实例(三) :主界面设计
  16. React Native之AppRegistry模块
  17. vue-cli 创建项目失败
  18. nginx多tomcat负载均衡
  19. dede 相关推荐调用
  20. System.Collections 学习

热门文章

  1. x86_64的内存映射
  2. 卷积神经网络(CNN)反向传播算法
  3. bash之重定向
  4. 网络服务器系统wamp的安装
  5. WebGIS前端瓦片地图显示原理及实现
  6. JS入门(一)
  7. 聊聊"jQuery is not defined"
  8. angularjs fileUpload
  9. SQLServer 数据库不能重命名的解决方案
  10. [译]Selenium Python文档:目录