MYSQL中如何创建存储过程和存储函数(上篇)
存储程序分为存储过程和存储函数。在MySQL中创建存储过程和存储函数的语句分别是create procedure 和create function。使用call语句来调用存储过程,只能用输出变量返回值。
1.创建存储过程。
需要用到create procedure,其基本语法如下:
create procedure 存储过程名称(参数列表)存储过程特性 存储体;
参数列表为:【in|out|inout 参数名称 参数类型】。in为输入参数,out为输出参数,inout两者都有。
存储特性为指定存储过程中的特性。
存储体就是写的具体的SQL。
其中参数列表和存储过程特性为可选项。
# 比如此存储过程就是一个名为sumPrice的存储过程,begin和end用来限定存储体。
create procedure sumPrice()
begin
select sum(price) from books;
end;
# 例如使用参数的存储过程,将其命名为countTotal,将计算的数目给参数ct。
create procedure countTotal(out ct int)
begin
select count(*) into ct from books;
end
2.创建存储函数。
创建存储函数需要用到create function语句。
create function func_name(参数列表)returns type 指定存储特性 存储体。
其中参数列表如存储过程一样,returns type是返回类型,指定存储特性也是可选项。
# 定义一个nameString无参存储函数,其返回类型为字符类型。
create function nameString()
returns char(100)
return(select name from class);
需要注意的是:指定参数in,out,inout只能对于存储过程,而对于存储函数来说,只能是默认的in。
以上就是最简单的存储过程和存储函数的创建过程。
MYSQL中如何创建存储过程和存储函数(上篇)相关推荐
- MySQL(六)——存储过程和存储函数
前言 今天简单的介绍一下"存储函数"和"存储过程",平时在工作中用到的时间不多,时间长了难免会忘记.在这里简单的做个回忆总结,方便自己以后复习回忆,当然能帮到需 ...
- Mysql存储过程和存储函数
存储过程和存储函数 前言 存储过程的相关操作 创建 调用 查看 删除 语法 变量的定义与赋值 if条件判断 参数 case结构 while循环 repeat循环结构 loop语句 leave语句 游标 ...
- MySQL初级篇——存储过程、存储函数的相关概念及应用举例
文章目录: 1.什么是存储过程? 2.存储过程操作相关SQL 3.存储过程实操SQL 4.存储函数操作相关SQL 5.存储函数实操SQL 6.存储过程.存储函数的优缺点 1.什么是存储过程? 含义:存 ...
- 【宋红康 MySQL数据库】【基础版】【15】存储过程与存储函数
文章目录 存储过程与存储函数 定义存储过程与存储函数 对比存储函数和存储过程 存储过程概述 理解 分类 创建存储过程 语法分析 代码举例 调用存储过程 调用格式 代码举例 如何调试 存储函数的使用 语 ...
- 【MySQL】存储过程与存储函数
存储过程与存储函数 1 存储过程 1.1介绍 存储过程是事先经过编译并存储在数据库中的一段SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提 ...
- MySQL存储过程与存储函数
1.创建存储过程 存储过程就是一条或者多条 SQL 语句的集合,可以视为批文件.它可以定义批量插入的语句,也可以定义一个接收不同条件的 SQL. 创建存储过程的语句为 "create pro ...
- 【MySQL进阶】存储过程及存储函数
5.存储过程 5.1.介绍 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率 ...
- 第15章_存储过程与函数(创建存储过程、调用存储过程、存储函数的使用、存储过程和函数的查看、修改、删除)
第15章_存储过程与函数 第15章_存储过程与函数 1. 存储过程概述 1.1 理解 1.2 分类 2. 创建存储过程 2.1 语法分析 2.2 代码举例 3. 调用存储过程 3.1 调用格式 3.2 ...
- MySQL学习笔记 05、触发器、存储过程、存储函数、定时任务
文章目录 前言 一.触发器 提前准备测试表 1.1.创建触发器 1.2.删除触发器 二.存储过程 2.1.认识变量 2.1.1.系统变量 2.1.2.用户变量 2.2.存储过程创建 2.3.删除存储过 ...
最新文章
- 《CCNP TSHOOT 300-135认证考试指南》——5.10节定义关键术语
- HDU 1536 求解SG函数
- [html] html5中的form怎么关闭自动完成?
- Python基础 —— sys 模块
- 目标检测回归损失函数——IOU、GIOU、DIOU、CIOU、EIOU
- 《Windows via C/C++》学习笔记 —— 用户模式的“线程同步”之“条件变量”
- 我的博客css得到别人的认可
- 迈信EP100伺服驱动器量产型修改bug全套C源代码
- 3dmax:3dmax的软件面板简介、软件配置优化、设计流程、设计经验、六种建模方法
- AOSP ~ 默认开启开发者模式
- java绘制图形_java怎么绘制简单图形
- wps折线图如何画多条折线_如何用wps制作折线图
- 5种方案实现订单30分钟未支付,则自动取消
- Ubuntu20.4 ping baudu.com contect: 网络不可达
- linux修改英文设置密码,linux 如何修改passwd的密码 设置密码
- 10.HTML基础——表格标签
- windows键按了没反应_教你如何从Windows无缝衔接到MacOS
- 苏宁11.11:一种基于神经网络的智能商品税分类系统
- 华清远见-重庆中心-数据库阶段技术总结/个人总结
- 三菱伺服调试软件_三菱M70第四轴追加参数设定一览表
热门文章
- 已解决NameError: name ‘unichr‘ is not defined
- 【剑指offer-54】20190907/03 字符流中第一个不重复的字符
- 985毕业,沪漂10年,月薪4w,我却活得一地鸡毛
- Python 3 print() 输出自动换行
- 【工具使用系列】关于 MATLAB 多机电力应用,你需要知道的事
- 从软件工程师到一个愤青IT猎头的经历
- JEB2插件教程之一JEB2AutoRenameByTypeInfo.py
- 关于我AbortME
- JS padStart()方法和padEnd()方法(ES6新增方法)
- OFDMA trigger frame