【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的官网,进入:(以下是自己安装失败的过程,直接下拉最后看大佬的安装过程吧,就是那个红红的网址) 找 ...
随机推荐
- PAT 1066 Root of AVL Tree
#include <cstdio> #include <cstdlib> class Node { public: Node* L; Node* R; int height; ...
- SharePoint 2013 - Using Web Proxy
用于在SharePoint中调用其它网站服务时使用. 1. 需要引用sp.js 和 sp.runtime.js文件: 2. 需要用到SP.WebRequestInfo,SP.WebProxy,和SP. ...
- Java实现队列结构的详细代码
一.什么是队列结构 一种线性结构,具有特殊的运算法则[只能在一端(队头)删除,在另一端(队尾)插入]. 分类: 顺序队列结构 链式队列结构 基本操作: 入队列 出队列 二.准备数据 static fi ...
- CompletionService的异常处理
一.采用take()方法时发生异常 示例代码: 情况一:异常比另一个正确任务,较晚出现,正确任务的结果会打印出 import java.util.concurrent.Callable; import ...
- 基本类型int强转short时发生了什么?
我们知道java中一个int类型占32bits(4字节),一个short占16bits(2字节)强制转换时只取低16位(short类型占的那16位),高16位(去掉低位多出来的那部分)属于溢出不计算, ...
- 找出OData service出错根源的小技巧
SAP的Fiori应用是通过OData和后台交互的.在使用Fiori应用时您可能会遇到这样的错误消息: 这个错误消息没有包含有助于partner或者客户定位问题根源的线索. 下面是如何在后台找出问题根 ...
- Jmeter入门10 jmeter加密串处理方式2:BeanShell PreProcessor
上一个博客讲了方式一:函数助手__digest加密,BeanShell PreProcessor也可以用java代码进行处理 线程组.参数.请求都直接使用上一个博客的. 第一步 添加BeanShell ...
- public class Promise<T>: Thenable, CatchMixin
public class Promise<T>: Thenable, CatchMixin
- 自定义Powershell提示符
实现效果: 实现原理: Powershell将个人配置脚本文件的地址存放在$profile变量中, 通过修改该变量达到想要的目的. 实现过程: 1>创建一个新的配置脚本: 2>编辑脚本内容 ...
- Oracle文本导入器
将文本格式化为Tab分隔的数据行,可以用Excel搞定 如果新增列需要从前面的列获取数据,比如用身份证号计算年龄 需要保证新增列在导入的文件中实际存在列,否则无法使用相对位置和绝对位置进行取值 相对位 ...