MySQL存储过程,定时器

原创 2016年08月30日 08:53:21

查看存储过程状态:
show procedure status;

查看存储过程详细内容:
show create procedure sp;
DELIMITER //
create PROCEDURE test(OUT s int)
BEGIN
select session_id into s from raw_http_transaction where id=1;
set s=s+1;
update raw_http_transaction set session_id=s where id=1;
END
//
DELIMITER ;

查询定时器设置:
show global variables like ‘%event_scheduler%’;

设置定时器:
SET GLOBAL event_scheduler=1;

将定时器与存储过程绑定:
create EVENT if not EXISTS event_test
on schedule every 1 SECOND
on COMPLETION PRESERVE
do call test(@s);

开启针对该事件的定时器:
ALTER EVENT event_test ON COMPLETION PRESERVE ENABLE;

查看定时器事件:
show EVENTS;

调用存储过程:
call test(@s)

较完整的MySQL存储过程案例

DELIMITER //
create PROCEDURE raw_http_transaction_proc()
BEGIN
DECLARE ident int default 0;
declare id char(64);
declare bytesReceived int;

select count(*) into ident from raw_http_transaction;
set ident=ident+1;
select CAST(ident AS CHAR(64)) into id;
select ceiling(rand() * 10000) into bytesReceived;
INSERT INTO raw_http_transaction (
    id,
    session_id,
    create_time,
    url,
    total_time,
    status_code,
    error_code,
    bytes_sent,
    bytes_received,
    appData,
    http_method,
    remote_ip,
    stats_carrier,
    stats_wan_type,
    stats_app_version,
    stats_contry,
    stats_area,
    stats_device_model,
    stats_os_version,
    stats_host,
    stats_url_path
)
VALUES
    (
        id,
        '1',
        now(),
        'http://apm.ideal.com/test.do',
        round(rand() * 100,4),
        '200',
        '0',
        0,
        bytesReceived,
        NULL,
        'POST',
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL,
        NULL
    );
END
//
DELIMITER ;
版权声明:本文为博主原创文章,未经博主允许不得转载。

使用定时器调用mysql的存储过程 -- navicat客户端

1.使用游标创建存储过程 SQL创建:                create PROCEDURE daily_max_avg_online() BEGIN declare max_online ...
  • he90227
  • he90227
  • 2014年12月04日 15:09
  • 1894

mysql如何让一个存储过程定时执行

mysql怎么让一个存储过程定时执行 查看event是否开启: show variables like '%sche%';  将事件计划开启: set global event_scheduler...
  • qq_26562641
  • qq_26562641
  • 2016年11月23日 09:59
  • 4591

Mysql 定时任务 事件处理存储过程详解

mysql 创建定时事件 定时执行sql语句
  • Jehoshaphat
  • Jehoshaphat
  • 2015年11月09日 11:18
  • 4323

mysql下存储过程与定时器

一年前,第一次接触数据库的时候。发现项目上的一个表很神奇。当用户提交数据的时候,状态为0(表示未执行)。过了一阵子状态为1(表示正在执行),又过一阵子状态为2(表示执行成功)或者3(表示执行失败)。 ...
  • u011061889
  • u011061889
  • 2016年12月04日 21:42
  • 845

MYSQL 定时器调用存储过程 以及开启事件

查看event是否开启: show variables like '%sche%'; 将事件计划开启: set global event_scheduler=1; 关闭事件任务: alter ...
  • qq459805661
  • qq459805661
  • 2016年06月08日 19:10
  • 890

简单的mysql定时器 执行存储过程

mysql,存储过程,定时器
  • huidanyige
  • huidanyige
  • 2015年04月17日 09:52
  • 144

mysql中的定时器及存储过程

需求:今天遇到mysql中的日志表需要设置最大存储量、最多存储天数,多余的删除 存储过程代码如下: DELIMITER // DROP PROCEDURE if exists log_sys...
  • yeyujiao8888
  • yeyujiao8888
  • 2015年11月06日 17:24
  • 439

mysql数据库上使用定时器定时执行存储过程建表(月表)

最近有个需求,在mysql数据库中每个月建自动一个表,把该月的数据存储到该月对应的表中。一、创建存储过程期望表名: login_history_2017_07(login_history_YYYY_...
  • xuanyonghao
  • xuanyonghao
  • 2017年07月30日 21:41
  • 623

mysql数据库存储过程和定时器

一、mysql数据库存储过程有过编程经验的人应该都很熟悉,先来说一下它的优点。 可以更快的执行,如果项目需要大量的sql语句或者重复执行的话,这时候存储过程的优点就会提现出来,它可以比程序执行的更快,...
  • wyl1401672169
  • wyl1401672169
  • 2016年08月19日 11:43
  • 456

mysql触发器、定时器、存储过程的使用。

本篇文章我们将学习mysql的定时器、触发器的使用。 首先我们创建一个数据库test,然后创建三张表account、account_name、ttt 一、触发器(trigger) 触发器是一种特殊...
  • zwcwu31
  • zwcwu31
  • 2017年06月05日 15:31
  • 165
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL存储过程,定时器
举报原因:
原因补充:

(最多只允许输入30个字)