MYSQL 存储过程通用
返回随机时间 函数
CREATE FUNCTION `milan_get_rand_time`(type VARCHAR(50)) RETURNS varchar(20) CHARSET utf8
BEGIN
DECLARE _day INT DEFAULT (FLOOR(RAND() * 60)); -- 随机天数 60天以内随机天数
DECLARE _hour INT DEFAULT (FLOOR(RAND() * 24)); -- 随机小时
DECLARE _minute INT DEFAULT (FLOOR(RAND() * 60));-- 随机分
DECLARE _second INT DEFAULT (FLOOR(RAND() * 60));-- 随机秒
DECLARE _myday VARCHAR(20);
IF type = 'before' THEN
set _day =_day;
ELSEIF type='after' THEN
SET _day =-1*_day;
ELSE
SET _day=0;
END IF; SET _myday = DATE_FORMAT(DATE_SUB(NOW(),INTERVAL _day DAY) ,'%Y-%m-%d'); -- 获取一个随机的日期
-- SET _myday = DATE_SUB(CURRENT_DATE(),INTERVAL _day DAY); -- 获取一个随机的日期
SET _myday = CONCAT(_myday,' ',LPAD(_hour,2,0),':',LPAD(_minute,2,0),':',LPAD(_second,2,0)); -- 在这个日期上加上时分秒
RETURN _myday;
END
带参数的函数
CREATE FUNCTION `delete_t_mer_info_group`(`_uid` int) RETURNS int(11)
BEGIN
#Routine body goes here...
DELETE from t_mer where uid=_uid;
DELETE from t_mer_info where uid=_uid;
DELETE from t_mer_group where member_uid =_uid or leader_uid=_uid;
RETURN 0; END
游标test
CREATE PROCEDURE `curtest`()
BEGIN
DECLARE _uid INT;
DECLARE _miaohao VARCHAR(20);
DECLARE done INT DEFAULT FALSE;
-- 遍历数据结束标志
DECLARE cur CURSOR FOR SELECT uid,miaohao FROM tmm_tmp_testaccount ;
-- 将结束标志绑定到游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
read_loop: LOOP
FETCH cur INTO _uid,_miaohao;
IF done THEN
LEAVE read_loop;
END IF;
UPDATE tmm_tmp_testaccount set `desc` = NULL where uid =_uid;
END LOOP;
CLOSE cur;
END
while循环
CREATE PROCEDURE `add_t_statis_member_1`(in _member_uid int,in _leader_uid int,in _dayCount int)
BEGIN DECLARE _count INT;
DECLARE _statis_date VARCHAR(20); DELETE FROM t_statis_member_1 where member_uid = _member_uid; SET _count = _dayCount; WHILE _count > 0 DO
set _statis_date = date_format(DATE_SUB(NOW(),INTERVAL +_count DAY), '%Y-%m-%d'); insert into t_statis_member_1(statis_date,member_uid,new_platform_user,new_game_user,active_user,pay_user,total_pay,total_order_price,leader_uid)
values
(
_statis_date,/*日期_varchar(16)_NO_statis_date*/
_member_uid,/*组员uid_bigint(20)_YES_member_uid*/
'',/*新增注册_int(11) unsigned zerofill_NO_new_platform_user*/
'',/*新增游戏注册_int(11)_NO_new_game_user*/
'',/*活跃人数_int(11)_NO_active_user*/
'',/*付费人数_int(11)_NO_pay_user*/
'5.01',/*总付费金额_decimal(10,2)_NO_total_pay*/
'6.01',/*总订单金额_decimal(10,2)_NO_total_order_price*/
_leader_uid /*所属组长uid_bigint(20)_YES_leader_uid*/); set _count =_count-1; END WHILE; select * from t_statis_member_1 where member_uid = _member_uid; END
拼接时间时分秒
CONCAT(_myday,' ',LPAD(_hour,2,0),':',LPAD(_minute,2,0),':',LPAD(_second,2,0)); -- 在这个日期上加上时分秒
生成随机ID
CREATE FUNCTION `get_id`() RETURNS bigint(20)
BEGIN
#Routine body goes here... RETURN CONCAT(UNIX_TIMESTAMP(NOW())-FLOOR(RAND() * 10000),FLOOR(RAND() * 10));
END
MYSQL 存储过程通用的更多相关文章
- J2EE之oracle、mysql存储过程调用
最近几天在研究hibernate.JPA对存储过程的调用,主要是针对有返回结果集的存储过程的调用方法,个人感觉存储过程是个好东西,虽然说heibernate对数据访问封装的比较不错,再加上他的缓存机制 ...
- 《MySQL 存储过程编程》-读书笔记
本书结构: 第一部分:存储编程基础 第1章:存储过程程序基础 第2章:MySQL存储编程指南 第3章:语言基础 第4章:语句块 第5章:在存储程序中使用SQL 第一章:MySQL存储程序介绍 存储程序 ...
- MySQL存储过程学习笔记
MySQL在5.0以前并不支持存储过程,这使得MySQL在应用上大打折扣.MySQL 5.0终于开始支持存储过程了. MySQL的关键字大小写通用.该学习笔记对关键字使用大写:变量名,表名使用小写. ...
- MySQL 存储过程错误处理
MySQL 存储过程错误处理 如何使用MySQL处理程序来处理在存储过程中遇到的异常或错误. 当存储过程中发生错误时,重要的是适当处理它,例如:继续或退出当前代码块的执行,并发出有意义的错误消息. ...
- C#操作SqlServer MySql Oracle通用帮助类
C#操作SqlServer MySql Oracle通用帮助类 [前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系 ...
- mysql 存储过程、视图---创建、调用、删除
之前一直用的是Sql Server数据库,最近偶然机会接触到mysql.这里总结了关于mysql 存储过程.视图的“创建.调用.删除”示例 ============================== ...
- MySQL存储过程(转)
一.MySQL 创建存储过程 "pr_add" 是个简单的 MySQL 存储过程,这个存储过程有两个 int 类型的输入参数 "a"."b" ...
- MySql存储过程
MySQL 存储过程 ```sql CREATE PROCEDURE myprocedure (IN para01 INTEGER) BEGIN DECLARE var01 CHAR(10); IF ...
- mysql存储过程和存储函数
mysql存储过程和存储函数 存数函数代码示例: DROP PROCEDURE IF EXISTS calc_ci_day_suc_rate; delimiter // CREATE FUNCTION ...
随机推荐
- Missing artifact com.sun:tools:jar:1.7解决方案
在配置Java + Robotframework时遇到的问题“Missing artifact com.sun:tools:jar” 1. 先检查一下eclipse或STS中的JDK路径配置是否正确( ...
- # 20155327 2016-2017-4 《Java程序设计》第8周学习总结
20155327 2016-2017-4 <Java程序设计>第7周学习总结 教材学习内容总结 了解NIO NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你设定 ...
- Objective-C教程备忘单
终极版本的Objective-C教程备忘单帮助你进行iOS开发. 想开始创建你的第一个iOS应用程序么?那么看一下这篇很棒的教程吧:Create your first iOS 7 Hello Worl ...
- 【转】Python 中的 if __name__ == '__main__' 该如何理解
转自:http://blog.konghy.cn/2017/04/24/python-entry-program/ 程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面 ...
- docker 数据卷 ---- 基础篇
用户在使用 Docker 的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据的共享,这必然涉及容器的数据管理操作.容器中管理数据主要有两种方式:数据 ...
- AbstractBeanDefinition:lenientConstructorResolution属性源码分析
版本:spring-framework-4.1 一概述 在看AbstractBeanDefinition源码时,注意到lenientConstructorResolution属性有诸多不疑,现在通过示 ...
- [CLPR] 用于加速训练神经网络的二阶方法
本文翻译自: http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digi ...
- 7z 7zip 日期、时间,文件名
from: http://hi.baidu.com/guicomeon/item/c0957c373972fbc52f8ec26e 先说明一点,要注意区分当前所使用的系统,中文系统和英文系统是有区别的 ...
- LCD RGB 控制技术 时钟篇(下)
我们先回顾一下之前的典型时序图 在这个典型的时序图里面,除了上篇博文讲述的HSYNC VSYNC VDEN VCLK这几信号外,我们还能看见诸如HSPW. VSPW,HBPD. HFPD,VBPD. ...
- linux下scp用法
scp 对拷文件夹 和 文件夹下的所有文件 对拷文件并重命名 对拷文件夹 (包括文件夹本身) scp -r /home/wwwroot/www/charts/util root@192.168.1 ...