/**
* 查询俱协信息
*/
DROP PROCEDURE IF EXISTS `get_club_list`;
DELIMITER $$
CREATE PROCEDURE `get_club_list`(
-- 页码
IN i_page_num int unsigned,
-- 一页数量
IN i_page_size int unsigned
)
BEGIN
-- 定义变量
DECLARE v_num int unsigned DEFAULT 0;
SET v_num = i_page_num*i_page_size;
SELECT * FROM (
SELECT
`t`.*,
`club_area`.`name` AS `area_name`,
`club_city`.`name` AS `city_name`
FROM (
SELECT * FROM `club_record` WHERE `status` = '' ORDER BY `createtime` DESC LIMIT v_num,i_page_size
) AS `t` LEFT JOIN `club_area` ON (
`t`.`area_id` = `club_area`.`id`
) LEFT JOIN `club_city` ON (
`t`.`city_id` = `club_city`.`id`
)
) AS `tt` ORDER BY `createtime` DESC;
END $$
DELIMITER ; CALL get_club_list(0,10);
/**
* 测试-删除
*/
DROP PROCEDURE IF EXISTS `test_del`;
DELIMITER $$
CREATE PROCEDURE `test_del`(
-- 删除一组id
IN i_ids varchar(255)
)
BEGIN
-- 定义变量
DECLARE v_i int unsigned DEFAULT 1;
DECLARE v_num int unsigned DEFAULT 0;
DECLARE v_id int unsigned DEFAULT 0;
SET v_num = LENGTH(i_ids) - LENGTH( REPLACE(i_ids,',','') ) + 1; WHILE v_i <= v_num DO
SET v_id = SUBSTRING_INDEX( SUBSTRING_INDEX(i_ids,',',v_i),',',-1 );
DELETE FROM `club_area_copy` WHERE `id` = v_id;
DELETE FROM `club_city_copy` WHERE `area_id` = v_id;
-- SELECT SUBSTRING_INDEX( SUBSTRING_INDEX(i_ids,',',v_i),',',-1 );
SET v_i = v_i+1;
END WHILE;
END $$
DELIMITER ;

MYSQL函数:

1. SUBSTRING_INDEX(str, delim, count)

str: 要处理的字符串

delim: 分割符

count: 计数 如果为正数,则从左开始数,如果为负数,则从右开始数

-- SET @str = 'www.baidu.com';

SELECT substring_index(@str,'.',1); # www

SELECT substring_index(@str,'.',2); # www.baidu

SELECT substring_index(@str,'.',-1); # com

SELECT substring_index(@str,'.',-2); # baidu.com

SELECT substring_index( substring_index(@str,'.',-2),'.',1 ); # baidu

SELECT LENGTH(@str); # 13

SELECT LENGTH( REPLACE(@str,'.','') ); # 11

-- 得到结果数
SELECT LENGTH(@str) - LENGTH( REPLACE(@str,'.','') ) + 1; # 3

MYSQL PROCEDURE 测试用例的更多相关文章

  1. MYSQL procedure

    没怎么接触过mysql procedure,今天建个calendar表还磨磨唧唧的,记录一下: CREATE PROCEDURE `new_procedure` (start_date DATA,en ...

  2. How to throw an error in MySql procedure?

    http://stackoverflow.com/questions/4862911/how-to-throw-an-error-in-mysql-procedure 9down votefavori ...

  3. mysql procedure返回多数据集

    返回多数据集写法:第一种 DROP PROCEDURE IF EXISTS `p_query_user` ; DELIMITER // CREATE PROCEDURE p_query_user( p ...

  4. MySQL Procedure(MySQL存储过程)[转]

    ------Creating Stored Procedures in MySQL------ --Make sure you have version 5 of MySQL:   SELECT VE ...

  5. jdbc 处理mysql procedure返回的多个结果集

    1:测试数据库表user mysql> desc user$$ +-------+-------------+------+-----+---------+----------------+ | ...

  6. 初习mysql procedure

    1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户 ...

  7. mysql PROCEDURE ANALYSE() 用法

    PROCEDURE ANALYSE() 会让 MySQL 帮你去分析你的字段和其实际的数据,并会给你一些有用的建议.只有表中有实际的数据,这些建议才会变得有用,因为要做一些大的决定是需要有数据作为基础 ...

  8. 修改Mysql procedure,function and view definer

    1 一次性修改遇到错误 update mysql.proc set definer='root@%'; update mysql.proc set definer='root@%'; ERROR 10 ...

  9. php mysql procedure获取多个结果集

    protected function getRs($id) { $db = new mysqli(C("DB_HOST"), C("DB_USER"), C(& ...

随机推荐

  1. oracle 创建表同时添加注释

    创建数据库表.添加注释的方法: create table WARNINGRECORD ( RecordID ) primary key not null ); comment on column WA ...

  2. 【译】python configparser中默认值的设定

    在做某一个项目时,在读配置文件中,当出现配置文件中没有对应项目时,如果要设置默认值,以前的做法是如下的: try: apple = config.get(section, 'apple') excep ...

  3. Red Hat6设置使用CentOS的yum源

    环境查看 red hat系统使用自己默认的yum源未注册在使用yum安装软件的时候会出现以下错误提示 可以修改成centos的yum源 卸载yum软件 rpm -qa|grep yum|xargs r ...

  4. 汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp

    eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器.如果用C语言来解释,可以把这些寄存器当作变量看待. 比 ...

  5. LeetCode 29 - 两数相除 - [位运算]

    题目链接:https://leetcode-cn.com/problems/divide-two-integers/description/ 给定两个整数,被除数 dividend 和除数 divis ...

  6. [No0000D0] 让你效率“猛增十倍”,沉浸工作法到底是什么?

    一位编剧在三天内完成两万字的剧本,而在此之前,他曾拖延了足足半年.一名大四学生用一天半写了8000多字,一鼓作气拿下毕业论文. 有人说:“用了这个方法,我的效率猛增十倍.只用短短两小时,就摧枯拉朽地完 ...

  7. zabbix监控Windows-server

    官网下载客户端 https://www.zabbix.com/download 2.创建自定义文件夹(路径任意),我创建的为C:\zabbix 3.将下载的文件存放至该目录,注意操作系统位数,去对应b ...

  8. python 遍历list并删除部分元素

    python 遍历list并删除部分元素https://blog.csdn.net/afgasdg/article/details/82844403有两个list,list_1 为0-9,list_2 ...

  9. linux基本介绍和使用

    基本介绍 Linux入门教程 快捷键     linux 快捷键 用户及用户组 linux之用户和用户组

  10. java之反射的基本介绍

    什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的以及动态调用对象的方法的功能称为Java的反射 ...