MYSQL PROCEDURE 测试用例
/**
* 查询俱协信息
*/
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 测试用例的更多相关文章
- MYSQL procedure
没怎么接触过mysql procedure,今天建个calendar表还磨磨唧唧的,记录一下: CREATE PROCEDURE `new_procedure` (start_date DATA,en ...
- How to throw an error in MySql procedure?
http://stackoverflow.com/questions/4862911/how-to-throw-an-error-in-mysql-procedure 9down votefavori ...
- mysql procedure返回多数据集
返回多数据集写法:第一种 DROP PROCEDURE IF EXISTS `p_query_user` ; DELIMITER // CREATE PROCEDURE p_query_user( p ...
- MySQL Procedure(MySQL存储过程)[转]
------Creating Stored Procedures in MySQL------ --Make sure you have version 5 of MySQL: SELECT VE ...
- jdbc 处理mysql procedure返回的多个结果集
1:测试数据库表user mysql> desc user$$ +-------+-------------+------+-----+---------+----------------+ | ...
- 初习mysql procedure
1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户 ...
- mysql PROCEDURE ANALYSE() 用法
PROCEDURE ANALYSE() 会让 MySQL 帮你去分析你的字段和其实际的数据,并会给你一些有用的建议.只有表中有实际的数据,这些建议才会变得有用,因为要做一些大的决定是需要有数据作为基础 ...
- 修改Mysql procedure,function and view definer
1 一次性修改遇到错误 update mysql.proc set definer='root@%'; update mysql.proc set definer='root@%'; ERROR 10 ...
- php mysql procedure获取多个结果集
protected function getRs($id) { $db = new mysqli(C("DB_HOST"), C("DB_USER"), C(& ...
随机推荐
- oracle 创建表同时添加注释
创建数据库表.添加注释的方法: create table WARNINGRECORD ( RecordID ) primary key not null ); comment on column WA ...
- 【译】python configparser中默认值的设定
在做某一个项目时,在读配置文件中,当出现配置文件中没有对应项目时,如果要设置默认值,以前的做法是如下的: try: apple = config.get(section, 'apple') excep ...
- Red Hat6设置使用CentOS的yum源
环境查看 red hat系统使用自己默认的yum源未注册在使用yum安装软件的时候会出现以下错误提示 可以修改成centos的yum源 卸载yum软件 rpm -qa|grep yum|xargs r ...
- 汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器.如果用C语言来解释,可以把这些寄存器当作变量看待. 比 ...
- LeetCode 29 - 两数相除 - [位运算]
题目链接:https://leetcode-cn.com/problems/divide-two-integers/description/ 给定两个整数,被除数 dividend 和除数 divis ...
- [No0000D0] 让你效率“猛增十倍”,沉浸工作法到底是什么?
一位编剧在三天内完成两万字的剧本,而在此之前,他曾拖延了足足半年.一名大四学生用一天半写了8000多字,一鼓作气拿下毕业论文. 有人说:“用了这个方法,我的效率猛增十倍.只用短短两小时,就摧枯拉朽地完 ...
- zabbix监控Windows-server
官网下载客户端 https://www.zabbix.com/download 2.创建自定义文件夹(路径任意),我创建的为C:\zabbix 3.将下载的文件存放至该目录,注意操作系统位数,去对应b ...
- python 遍历list并删除部分元素
python 遍历list并删除部分元素https://blog.csdn.net/afgasdg/article/details/82844403有两个list,list_1 为0-9,list_2 ...
- linux基本介绍和使用
基本介绍 Linux入门教程 快捷键 linux 快捷键 用户及用户组 linux之用户和用户组
- java之反射的基本介绍
什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的以及动态调用对象的方法的功能称为Java的反射 ...