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(& ...
随机推荐
- 遍历DOM打平
html 模板 <div class="box"> <p>1</p> <p>2</p> <div> < ...
- Linux 磁盘管理命令
df NO1. 显示所有存储系统空间使用情况,同时显示存储系统的文件系统类型s[root@rehat root]# df -aT NO2. 显示指定文件系统的空间使用情况[root@rehat roo ...
- Pretty Smart? Why We Equate Beauty With Truth
Pretty Smart? Why We Equate Beauty With Truth With some regularity we hear about the latest beauty-p ...
- Men and women can't be 'just friends
Men and women can't be 'just friends' Can heterosexual men and women ever be "just friends" ...
- 洛谷P1057 传球游戏【dp】
题目:https://www.luogu.org/problemnew/show/P1057 题意: n个人围成一个圈,传球只能传给左边或是右边. 从第一个人开始传起,经过m次之后回到第一个人的传球方 ...
- MySQL的JDBC驱动源码解析
原文: MySQL的JDBC驱动源码解析 大家都知道JDBC是Java访问数据库的一套规范,具体访问数据库的细节有各个数据库厂商自己实现 Java数据库连接(JDBC)由一组用 Java 编程语言 ...
- {MySQL的库、表的详细操作}一 库操作 二 表操作 三 行操作
MySQL的库.表的详细操作 MySQL数据库 本节目录 一 库操作 二 表操作 三 行操作 一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf ...
- linux下python3.5环境搭建
ubuntu12 在虚拟机vm11版本下安装正常,ubuntu14在虚拟机11-14版本下均因为某些文件权限不够安装失败(ubuntu14安装失败),未解决. ubuntu12 安装完成后,首先安装 ...
- 1.7Oob同类中不同方法间的互相调用
import java.util.Scanner; public class Bill { public static final double RATE=150.0; 这里没有创建getter和se ...
- day14: 生成器进阶
1,复习,迭代器:双下方法很少直接调用,一般都是通过其他语法触发的:迭代器一定可迭代,可迭代的通过调用iter()方法皆可以得到一个迭代器. 迭代器很方便使用,所有的数据只可以取一次,节省内存空间.生 ...