MySQL流程控制和存储过程介绍
/*
定义变量
方式1:set @变量名=值;
方式2:select 值 into @变量名;
方式3:declare 变量名 类型(字符串类型加范围) default 值;
in参数 入参的值会仅在存储过程中起作用
out参数 入参的值会被置为空,存储中计算的值会影响外面引用该变量的值
inout参数 入参的值不会被置为空,存储中计算的值会影响外面引用该变量的值
*/
use mysql;
/*创建1个存储过程*/
delimiter $$
DROP PROCEDURE IF EXISTS porc_person_02;
CREATE PROCEDURE porc_person_02(IN p1 INT, OUT p2 INT, INOUT p3 VARCHAR(20))
BEGIN
DECLARE innerp1 VARCHAR(10) DEFAULT 'this is innerp1';
DECLARE innerp2 VARCHAR(10) DEFAULT 'this is innerp2';
SET p1=10;
SET p2=20;
SET p3='this is 字符串';
if p1=10 then
select 'p1 is 10';
end if;
if p1=p2 then
select 'p1=p2';
else
select p1,p2,p3;
end if;
case p3
when 'a' then
select 'p3 is a';
when 'b' then
select 'p3 is b';
when 'c' then
select 'p3 is c';
else
select p3;
end case;
/*条件不满足会被终止*/
while p1>4
do
set p1=p1-1;
end while;
select p1;
checka:loop
set p1=p1+1;
if p1=14 then
leave checka;
end if;
end loop;
select p1;
/*条件满足会被终止*/
repeat
set p1=p1-1;
until p1=6
end repeat;
select p1;
END;
$$
set @p_in=3;
set @p_out=2;
set @p_inout='b';
select 'check procedure' into @p4;
call porc_person_02(@p_in,@p_out,@p_inout);
select @p_in,@p_out,@p_inout,@p4;
MySQL流程控制和存储过程介绍的更多相关文章
- mysql 内置功能 存储过程介绍
存储过程介绍 就是mysql内置功能把逻辑写好 的功能给封装好,封装成一个接口名,把接口名丢给应用程序,应用程序直接调用接口名实现一系列增删改查功能 这个接口叫存储过程 基于存储过程封装成一个功能 存 ...
- Mysql 流程控制
流程控制 分支结构 if分支结构 语法: if 条件then -- 语句体 else -- 缺省语句体 end if; 示例: 循环结构 whi ...
- mysql流程控制
一 流程控制 delimiter // CREATE PROCEDURE proc_if () BEGIN declare i int default 0; if i = 1 THEN SELECT ...
- lishell学习之路:流程控制(case)
流程控制case语句: 介绍:多分支case条件语句 1.case语句和if..elif..else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而i ...
- mysql 内置功能 存储过程 目录
mysql 内置功能 存储过程介绍 mysql 内置功能 存储过程 创建无参存储过程 mysql 内置功能 存储过程 创建有参存储过程 mysql 内置功能 存储过程 删除存储过程
- MySQL之视图、触发器、事务、存储过程、函数 流程控制
MySQL之视图.触发器.事务.存储过程.函数 阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 MySQL这个软件想将数据处理的所有事情,能够在mysql这个层面上全部 ...
- mysql数据库之 存储引擎、事务、视图、触发器、存储过程、函数、流程控制、数据库备份
目录 一.存储引擎 1.什么是存储引擎? 2.mysql支持的存储引擎 3. 使用存储引擎 二.事务 三.视图 1.什么是视图 2.为什么要用视图 3.如何用视图 四.触发器 为何要用触发器 创建触发 ...
- MySQL——视图/触发器/事务/存储过程/函数/流程控制
一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...
- Mysql 存储过程(变量、定义条件、处理程序、光标、流程控制构造)
最近由于有同事编写了存储函数,需要进行验证,但是对存储过程一直不是很了解,所以抽时间了解了一下存储过程的基本语法.本篇文章主要包括介绍了存储过程的5个小语法:declare语句的变量.定义条件.处理程 ...
随机推荐
- 类似懒加载的js功能
<!-- 显示15条数据 --> <ul class="list" pagesize="15"> <li> <div ...
- 华为G700电脑版Root软件-Eroot
华为G700电脑版Root软件--eroot.zip(10.5M) 查阅全文 ›
- mina框架之---服务端NioSocketAcceptor的学习
接上一讲对mina的简单应用和对mina服务端和客户端中几个重要的技术知识点的理解后,今天着重对mina服务端的NioSocketAcceptor 进行学习. 说这个玩意之前,先整体上看一下在mina ...
- World is Exploding
题意: 给出一个长为n的序列A,问有多少四元组(a, b, c, d)满足$a \ne b \ne c \ne d, 1 \leq a < b \leq n, 1 \leq c < d \ ...
- You Are the One
题意: 有n个人排队,第i个入场的人x的不愉快度是$D_x*(i-1)$,现在给你n个人在队伍中的位置, 你可以用一个栈让一个人后面的人先进入,问最小的不愉快度是多少. 解法: 考虑注意到用栈调整次序 ...
- 性能测试之Jmeter学习(三)
一.Jmeter执行顺序规则: 元件执行顺序的规则很简单,在同一作用域名范围内,测试计划中的元件按照如下顺序执行. (1)配置元件(config elements ) (2)前置处理程序(Per-pr ...
- A - Alyona and Numbers
Description After finishing eating her bun, Alyona came up with two integers n and m. She decided to ...
- Eigen::aligned_allocator
http://blog.csdn.net/rs_huangzs/article/details/50574141
- 参考手册(html css)
HTML CSS DOM XML DOM XML DOM Document JavaScript JavaScript RegExp JSP
- 多行文字的垂直居中或高度不同的图片垂直居中---:after伪类+content
如何让多行文字垂直居中?或者如何让图片垂直居中? 1.demo--css .box { width: 300px; height: 300px; background-color: #f5e79e; ...