SQL中的PROCEDURE
/prəˈsiːdʒər/首先附一下音标,有一个连读
完整版是 Stored Procedure
MySQL 5.0 版本开始支持存储过程。
PostgreSQL 11 支持存储过程(SQL Stored Procedures)
存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。
存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。
存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。
优点
- 存储过程可封装,并隐藏复杂的商业逻辑。
- 存储过程可以回传值,并可以接受参数。
- 存储过程无法使用 SELECT 指令来运行,因为它是子程序,与查看表,数据表或用户定义函数不同。
- 存储过程可以用在数据检验,强制实行商业逻辑等。
缺点
- 存储过程,往往定制化于特定的数据库上,因为支持的编程语言不同。当切换到其他厂商的数据库系统时,需要重写原有的存储过程。
- 存储过程的性能调校与撰写,受限于各种数据库系统。
SQL中的PROCEDURE相关推荐
- SQL 中 PROCEDURE,TRIGGER,FUNCTION简单应用
今天简单总结一下SQL中PROCEDUR,TRIGGER,FUNCTION的简单应用. 一.简单PROCEDURE 1.不带参数 create proc PROC_Test as select 字段名 ...
- oracle PL/SQL(procedure language/SQL)程序设计(在PL/SQL中使用SQL)
在PL/SQL程序中,允许使用的SQL语句只有DML和事务控制语句,使用DDL语句是非法的. 使用SELECT语句从数据库中选取数据时,只能返回一行数据. 使用COMMIT, ROLLBACK, 和 ...
- 什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么?
什么是存储过程?什么是触发器?SQL中存储过程与触发器的区别是什么? 存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名 ...
- oracle sql字符拆分字符串函数,oracle-是否有在PL / SQL中拆分字符串的功能?
oracle-是否有在PL / SQL中拆分字符串的功能? 我需要编写一个过程来规范具有由一个字符连接的多个令牌的记录. 我需要获得这些令牌来分割字符串,并将每个令牌作为新记录插入表中. Oracle ...
- SQL中OBJECT_ID,OBJECT_NAME,OBJECT_DEFINITION的用法
SQL中OBJECT_ID,OBJECT_NAME,OBJECT_DEFINITION的用法 - 标签:OBJECT_ID,OBJECT_NAME,OBJECT_DEFINITION 在SQL SER ...
- Sql中存储过程的定义、修改和删除操作
Sql中存储过程的定义.修改和删除操作 1.存储过程的分类 系统存储过程 本地存储过程(用户自定义) 临时存储过程(局部[#].全局[##]临时存储过程) 2.创建存储过程 ? 1 2 3 4 5 6 ...
- C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息
C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度.不然获取到的结果总是只有第一字符.本人就是由于这个原因,折腾了很久.在此记录一下,供大家以后参考! 例如: CR ...
- qt调用mysql调用了存储过_Qt调用Server SQL中的存储过程
Server SQL中的存储过程如下: CREATE procedure PINSERTPC @pcnum int, @pcname varchar(50), @pctype int, @ipaddr ...
- PL/Sql 中创建、调试、调用存储过程
存储过程 所用函数说明 功能:求和与差 原形:GetSumAndSub(p1 in number , p2 in number ,m out number , b out number) 参 ...
最新文章
- android工程中让人很不爽的“×××警告”
- 百度智能云一周连签三个新基建大单,“非对称竞争”优势凸显?
- 浅析 Linux 初始化系统(系统服务管理和控制程序/init system) -- UpStart
- DreamWeaver连接Tomcat用以编辑和测试JSP
- UI设计素材|图标在UI设计界面当中起到什么作用
- mysql十亿_Mysql:表中有数十亿条记录
- mysql no cache_关于对MySQL的SQL_NO_CACHE的理解和用法举例
- query string parameter前端怎么传参_Substrate 前端开发-1: 用 Polkadot-JS API 轻松搭建前端
- 基于Ubuntu系统搭建以太坊go-ethereum源码的开发环境
- 数据集加载--load_digits
- 计算机知识技能大赛主持稿,计算机知识技能大赛.doc
- tcflush()用法 以及 Termios 介绍
- kali系统修改中文
- 基于单片机的电池管理系统
- python3读取python2的npy文件
- 调用聚合数据新闻头条API
- Docker 目录/var/lib/docker/containers文件过大
- vs2019编译cryengine失败问题处理
- 山东联通某地市分公司科技岗面经+经验分享
- 网易创始人之一,周卓林先生
热门文章
- oracle rac 仲裁盘_11G ORACLE OCR和仲裁盘恢复
- 如何提高测试人员问题分析能力
- 初中计算机实践研究计划,项目式教学法在初中信息技术课堂教学中的研究与实践...
- 简述DDNS和DNS区别
- [未来成长] 分享:《麦肯锡教我的写作武器》如何写出一篇具有逻辑表现力的文案...
- 关于数学建模、机器学习与深度学习的思考
- javascript返回多个参数
- ios3怎么取消长按弹出菜单_ios13长按多功能怎么关闭-手机数据恢复精灵
- 9大论坛、多项AI创新成果,Imagination邀您共聚 AIIA2020人工智能开发者大会
- 【NLP】Pyhon+讯飞开放平台:​手把手带你写一个智能语音播报系统