/prəˈsiːdʒər/首先附一下音标,有一个连读
完整版是 Stored Procedure
MySQL 5.0 版本开始支持存储过程。
PostgreSQL 11 支持存储过程(SQL Stored Procedures)

存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。
存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。
存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用


优点

  • 存储过程可封装,并隐藏复杂的商业逻辑。
  • 存储过程可以回传值,并可以接受参数。
  • 存储过程无法使用 SELECT 指令来运行,因为它是子程序,与查看表,数据表或用户定义函数不同。
  • 存储过程可以用在数据检验,强制实行商业逻辑等。

缺点

  • 存储过程,往往定制化于特定的数据库上,因为支持的编程语言不同。当切换到其他厂商的数据库系统时,需要重写原有的存储过程。
  • 存储过程的性能调校与撰写,受限于各种数据库系统。

SQL中的PROCEDURE相关推荐

  1. SQL 中 PROCEDURE,TRIGGER,FUNCTION简单应用

    今天简单总结一下SQL中PROCEDUR,TRIGGER,FUNCTION的简单应用. 一.简单PROCEDURE 1.不带参数 create proc PROC_Test as select 字段名 ...

  2. oracle PL/SQL(procedure language/SQL)程序设计(在PL/SQL中使用SQL)

    在PL/SQL程序中,允许使用的SQL语句只有DML和事务控制语句,使用DDL语句是非法的. 使用SELECT语句从数据库中选取数据时,只能返回一行数据. 使用COMMIT,  ROLLBACK, 和 ...

  3. 什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么?

    什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么? 存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名 ...

  4. oracle sql字符拆分字符串函数,oracle-是否有在PL / SQL中拆分字符串的功能?

    oracle-是否有在PL / SQL中拆分字符串的功能? 我需要编写一个过程来规范具有由一个字符连接的多个令牌的记录. 我需要获得这些令牌来分割字符串,并将每个令牌作为新记录插入表中. Oracle ...

  5. SQL中OBJECT_ID,OBJECT_NAME,OBJECT_DEFINITION的用法

    SQL中OBJECT_ID,OBJECT_NAME,OBJECT_DEFINITION的用法 - 标签:OBJECT_ID,OBJECT_NAME,OBJECT_DEFINITION 在SQL SER ...

  6. Sql中存储过程的定义、修改和删除操作

    Sql中存储过程的定义.修改和删除操作 1.存储过程的分类 系统存储过程 本地存储过程(用户自定义) 临时存储过程(局部[#].全局[##]临时存储过程) 2.创建存储过程 ? 1 2 3 4 5 6 ...

  7. C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息

    C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度.不然获取到的结果总是只有第一字符.本人就是由于这个原因,折腾了很久.在此记录一下,供大家以后参考! 例如: CR ...

  8. qt调用mysql调用了存储过_Qt调用Server SQL中的存储过程

    Server SQL中的存储过程如下: CREATE procedure PINSERTPC @pcnum int, @pcname varchar(50), @pctype int, @ipaddr ...

  9. PL/Sql 中创建、调试、调用存储过程

    存储过程  所用函数说明  功能:求和与差  原形:GetSumAndSub(p1 in number , p2 in number ,m out number , b out number)   参 ...

最新文章

  1. android工程中让人很不爽的“×××警告”
  2. 百度智能云一周连签三个新基建大单,“非对称竞争”优势凸显?
  3. 浅析 Linux 初始化系统(系统服务管理和控制程序/init system) -- UpStart
  4. DreamWeaver连接Tomcat用以编辑和测试JSP
  5. UI设计素材|图标在UI设计界面当中起到什么作用
  6. mysql十亿_Mysql:表中有数十亿条记录
  7. mysql no cache_关于对MySQL的SQL_NO_CACHE的理解和用法举例
  8. query string parameter前端怎么传参_Substrate 前端开发-1: 用 Polkadot-JS API 轻松搭建前端
  9. 基于Ubuntu系统搭建以太坊go-ethereum源码的开发环境
  10. 数据集加载--load_digits
  11. 计算机知识技能大赛主持稿,计算机知识技能大赛.doc
  12. tcflush()用法 以及 Termios 介绍
  13. kali系统修改中文
  14. 基于单片机的电池管理系统
  15. python3读取python2的npy文件
  16. 调用聚合数据新闻头条API
  17. Docker 目录/var/lib/docker/containers文件过大
  18. vs2019编译cryengine失败问题处理
  19. 山东联通某地市分公司科技岗面经+经验分享
  20. 网易创始人之一,周卓林先生

热门文章

  1. oracle rac 仲裁盘_11G ORACLE OCR和仲裁盘恢复
  2. 如何提高测试人员问题分析能力
  3. 初中计算机实践研究计划,项目式教学法在初中信息技术课堂教学中的研究与实践...
  4. 简述DDNS和DNS区别
  5. [未来成长] 分享:《麦肯锡教我的写作武器》如何写出一篇具有逻辑表现力的文案...
  6. 关于数学建模、机器学习与深度学习的思考
  7. javascript返回多个参数
  8. ios3怎么取消长按弹出菜单_ios13长按多功能怎么关闭-手机数据恢复精灵
  9. 9大论坛、多项AI创新成果,Imagination邀您共聚 AIIA2020人工智能开发者大会
  10. 【NLP】Pyhon+讯飞开放平台:​手把手带你写一个智能语音播报系统