存储过程(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库。中用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而
一般SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速
度。
2.当对数据库进行复杂操作时(如对多个表进行
Update,Insert,Query,Delete 时),可将此复杂操作用存储过程封装起来
与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量
4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权

相对于直接使用SQL 语句,在应用程序中直接调用存储过程有以下好处:
(1)减少网络通信量。
调用一个行数不多的存储过程与直接调用SQL 语句的网络通信量可能不会有很大的差别,可是如果存储过程包含上百行SQL 语句,那么其性能绝对比一条一条的调用SQL 语句要高得多。
(2)执行速度更快。
有两个原因:首先,在存储过程创建的时候,数据库已经对其进行了一次解析和优化。其次,存储过程一旦执行,在内存中就会保留一份这个存储过程,这样下次再执行同样的存储过程时,可以从内存中直接调用。
(3)更强的适应性。
由于存储过程对数据库的访问是通过存储过程来进行的,因此数据库开发人员可以在不改动存储过程接口的情况下对数据库进行任何改动,而这些改动不会对应用程序造成影响。
(4) 分布式工作。
应用程序和数据库的编码工作可以分别独立进行,而不会相互压制。

缺点:
1.如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐了。
2.可移植性差
由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。

下面的博客是根据自己工作中总结的一些存储过程的博客:
Oracle存储过程之merge into 函数(一)
http://blog.csdn.net/z1729734271/article/details/52386664
Oracle存储过程之merge into 函数(二)
http://blog.csdn.net/z1729734271/article/details/52437856
oracle 存储过程之游标(loop)使用
http://blog.csdn.net/z1729734271/article/details/52351700

什么是存储过程,存储过程的作用及优点相关推荐

  1. 存储过程与触发器作用

    存储过程与触发器因为在数据库中的作用不同,因为也就没什么性能可比性. 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名 ...

  2. 存储过程和触发器作用以及使用

    第一:存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快. 第二:存储过程可以接受参数.输出参数.返回单个或多个结果集以及返回值.可以向程序返回错误原因. 第三:存储过程运行比较稳定,不会有太 ...

  3. 数据库索引的作用和优点缺点

    原文:数据库索引的作用和优点缺点 为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能.  第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性.  第二,可以大大加快 数据的检索速 ...

  4. 描述一下Spring框架的作用和优点?

    Spring框架的作用和优点如下: 1.Spring是一个开源的轻量级的应用开发框架,其目的是用于简化企业级应用程序开发,减少侵入: 2.Spring提供的IOC和AOP应用,可以将组建的耦合度降低至 ...

  5. 电厂运维的cis数据_变配电智能化运维作用和优点,智慧供配电物联网

    变配电智能化运维作用和优点,智慧供配电物联网 从实际情况出发,我们可以将电力系统划分为三个:发电.输电和配电,其直接过程就是发电系统发出的电能经由输电系统的输送,最后由配电系统分配给各个用户.在这三部 ...

  6. poe交换机的作用和优点

    POE交换机就是支持网线供电的交换机,其不但可以实现普通交换机的数据传输功能还能同时对网络终端进行供电 .那么,poe交换机的作用和优点有哪些呢?接下来我们就跟随杭州飞畅的小编一起来看看吧! poe交 ...

  7. 为什么用链路聚合_链路聚合技术作用和优点

    链路聚合技术作用和优点 发布时间:2020-07-17 18:00:09来源: 链路聚合技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,来达到增加链路带宽的目的.而且在实现增大 ...

  8. 什么是存储过程?使用它的优点有哪些?

    存储过程是指编译之后可以以一种可执行的形式永久地存储在数据库中的SQL语句. 它的优点有: (1)提高运行速度 (2)模块化程序设计 (3)减少网络通信量 (4)保证系统的安全性

  9. 【存储过程】MySQL存储过程/存储过程与自定义函数的区别

    ---------------------------存储过程-------------------- 语法: 创建存储过程: CREATE [definer = {user|current_user ...

  10. mysql存储过程自定义结构体_(转)MySQL存储过程/存储过程与自定义函数的区别...

    转自:http://www.cnblogs.com/caoruiy/p/4486249.html 语法: 创建存储过程: CREATE[definer = {user|current_user}] P ...

最新文章

  1. 【转】Java内存与垃圾回收调优
  2. Vim杂记:Sublime的配色方案
  3. 2013电大计算机应用基础试题及答案,[2017年电大]电大2013年计算机应用基础试题及答案[呕心沥血整理].doc...
  4. React开发(100):3.0没有image
  5. (转)在Windows上安装GPU版Tensorflow
  6. 6.4.3树和森林的遍历
  7. 十二、添加RD 授权角色
  8. 利用Linux系统生成随机密码的8种方法
  9. 面试题:什么叫2B树
  10. 《深度学习导论及案例分析》一2.5概率有向图模型
  11. Dynamic 365 中创建编码规则
  12. 我在Facebook工作的十大经验分享
  13. html图片顺时针倾斜50度,html – 使用transform进行垂直对齐:translateY(-50%);里面绝对定位的div...
  14. Insecure CAPTCHA(不安全的验证码)
  15. AUTOMATE THE BORING STUFF WITH PYTHON读书笔记 - 第4章:LISTS
  16. sqoop导数到各个数据库,可以套用
  17. 深入理解机器学习——类别不平衡学习(Imbalanced Learning):常用技术概览
  18. mtr--- 网络诊断工具
  19. 教学管理系统的设计与实现(二)(数据库设计)
  20. 高数笔记(二十):无穷级数,级数的审敛法

热门文章

  1. 360防火墙拦截oracle,网站被360防火墙拦截怎么办
  2. linux获取软电话信息,完整的SIP软电话工程实施过程
  3. 小学计算机无生试讲教案,小学英语无生试讲
  4. win7计算机远程桌面连接,教您win7远程桌面连接
  5. pytorch求STFT
  6. 如何让计算机自动锁屏,怎样设置电脑自动锁屏
  7. 保持公司电脑不锁屏技巧
  8. POJ 1815 Friendship 最小割+字典序最小割集
  9. 下行法求最小割集案例_最小割集求法.docx
  10. 前阿里P10员工赵海平加入字节跳动,职级或为4+