【MYSQL笔记3】MYSQL过程式数据库对象之存储过程的调用、删除和修改
mysql从5.0版本开始支持存储过程、存储函数、触发器和事件功能的实现。
我们以一本书中的例题为例:创建xscj数据库的存储过程,判断两个输入的参数哪个更大。并调用该存储过程。
(1)调用
首先,创建存储过程(procedure),名为xscj.compar
delimiter $$
create procedure xscj.compar
(in k1 integer, in k2 integer, out k3 char() )
begin
if k1>k2 then
set k3='大于';
elseif k1=k2 then
set k3='等于';
else
set k3='小于';
end if;
end$$
delimiter ;
执行结果如下:

在上边的语句中:
create 语句是创建存储过程,下行表示的是存储过程参数,in 表示输入参数, out 表示输出参数,inout 表示输入/输出参数,@表示用户变量;
If 语句是流程控制语句,当条件为真,执行对应的SQL语句;
在代码的前一部分,因为在mysql中,服务器处理语句的时候是以分号为结束标志的,但是在创建存储过程的时候,存储过程可能包含多个SQL语句,每个SQL语句都是以分号为结尾的,这时服务器处理程序的时候遇到第一个分号就会认为程序结束,这肯定是不可行的。因此在使用"delimiter+结束符"的命令将MYSQL语句的结束标志修改为其他符号,最后在使用'opdelimiter ;'恢复以分号为结束标志。
存储过程创建完后,可以在程序、触发器或者其他存储过程中被调用,但是都必须使用CALL语句。
(2)删除
仍然使用drop语句
drop procedure if exists 过程名
(3)修改
可以使用
alter procedure 存储过程 [特征...]
来修改存储过程的某些特征;但是如果要修改存储过程的内容,可以使用先删除再重新定义存储过程的方法。
【MYSQL笔记3】MYSQL过程式数据库对象之存储过程的调用、删除和修改的更多相关文章
- 实验十--- MySQL过程式数据库对象
实验十 MySQL过程式数据库对象 一. 实验内容: 1. 存储过程的创建和调用 2. 存储函数的创建和调用 3. 触发器的创建和触发 4. 事件的创建和修改 一. 实验项目:员工管理数据库 用于 ...
- 【MySQL笔记】mysql来源安装/配置步骤和支持中国gbk/gb2312编码配置
不久的学习笔记.分享.我想有很大的帮助谁刚开始学习其他人的 备注:该票据于mysql-5.1.73版本号例如 1. mysql源代码编译/安装步骤 1) 官网下载mysql源代码并解压 2) cd至源 ...
- 涂抹mysql笔记-搭建mysql高可用体系
mysql的高可用体系<>追求更高稳定性的服务体系 可扩展性:横向扩展(增加节点).纵向扩展(增加节点的硬件配置) 高可用性<>Slave+LVS+Keepalived实现高可 ...
- 涂抹mysql笔记-管理mysql库和表
mysql的表对象是基于库维护的,也就是说它属于某个库,不管对象是由谁创建的,只要库在表就在.这根Oracle不同Oracle中的表对象是基于用户的.属于创建改对象的用户所有,用户在表就在.mysql ...
- 10月16日下午MySQL数据库CRUD操作(增加、删除、修改、查询)
1.MySQL注释语法--,# 2.2.后缀是.sql的文件是数据库查询文件. 3.保存查询. 关闭查询时会弹出提示是否保存,保存的是这段文字,不是表格(只要是执行成功了表格已经建立了).保存以后下次 ...
- MySQL 笔记(Mysql 8.0.16)
用户登陆 mysql -u user_name -p 修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; 关闭服务 D:\ ...
- 涂抹mysql笔记-管理mysql服务
-DSYSCONFDIR=/mysql/conf \ 所以在conf下建立my.cnf文件 vi my.cnf [client]port=3306socket=/mysql/conf/mysql.so ...
- 涂抹mysql笔记-安装mysql
1.mysql安装:(1)RPM安装:rpm -ivh xxx 建议安装三个:MySQL-server-VERSION.PLATFORM-cpu.rpmMySQL-client-VERSION.PLA ...
- [MYSQL笔记0]MYSQL的安装
mysql是一种关系型数据库管理系统.以mysql5.7版本为例,安装过程如下: 首先百度出mysql的官网,进入:(以下是自己安装失败的过程,直接下拉最后看大佬的安装过程吧,就是那个红红的网址) 找 ...
随机推荐
- python高阶函数sorted
原文 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因 ...
- document.write()重写问题
document.write(); 可用于重写给某个元素追加内容; 当document.write(); 用于JS文件中,会重写整个页面,解决这个问题有多种方法. 重写原因:当onload的时候执行 ...
- 菜鸟学习Spring——SpringIoC容器基于三种配置的对比
一.概述 对于实现Bean信息定义的目标,它提供了基于XML.基于注解及基于java类这三种选项.下面总结一下三种配置方式的差异. 二.Bean不同配置方式比较. 三.Bean不同配置方式的适用场合. ...
- join......on 后面的and 和where的区别
a.where 是在两个表join完成后,再附上where条件. b. and 则是在表连接前过滤A表或B表里面哪些记录符合连接条件,同时会兼顾是left join还是right join.即 假如是 ...
- Recsys2018 music recomendation
http://www.recsyschallenge.com/2018/ January 2018 Release of the "One Million Playlists" d ...
- php 递归的生成目录函数
/** * 递归的生成目录 * @param str $dir 必须是目录 */ function mkdirs($dir) { return is_dir($dir) ?: mkdirs(dirna ...
- 【[NOI2006]最大获利】
题目 并不知到为什么这道题讲了这么久 我们发现这道题就是最小割的板子啊,完全可以套上文理分科的板子 把每个机器和\(T\)连边,容量为\(p_i\),这些\(p_i\)并不计入总贡献 对于每一个要求我 ...
- 【[HEOI2012]采花】
\(HH\)的项链加强版,数据范围和题意都加强了 题意大概:给出n个数,求区间出现次数>=2的数的个数. 一眼莫队,可是我还不会莫队啊 那就树状数组吧 回忆一下\(HH\)的项链,套路差不多,那 ...
- openfiles_(命令)查看已打开的文件列表
效果: 功能: 查看Windows系统的进程信息,包括进程打开了哪些文件 描述: 允许管理员列出系统上已打开的文件和文件夹或与其断开连接. 参数列表: /Disconnect 中断至少一个打开的文件的 ...
- ueditor图片上传,网络连接错误的解决方案
错误产生的原因是ueditor/net目录中的Uploader.cs在网站发布之后就没有了,重新上传这个文件,问题就解决了