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数据库存储过程和定时器

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

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

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

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

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

查看event是否开启: show variables like '%sche%'; 将事件计划开启: set global event_scheduler=1; 关闭事件任务: alter ...

mysql下存储过程与定时器

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

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

1.使用游标创建存储过程 SQL创建:                create PROCEDURE daily_max_avg_online() BEGIN declare max_online ...

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

mysql,存储过程,定时器

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

1.使用游标创建存储进程 SQL创建:                 create PROCEDURE daily_max_avg_online() BEGIN declare m...

MySQL 存储过程和定时器的应用

有一个计划任务的需求,仅单纯的对数据库进行操作,例如,定期删除读过的日志,有两种途径可以考虑:1 使用php常驻内存或定期执行的方法实现[不是此文重点] PHP在cli模式下是不限时的 可以用来做计划...

MySQL --- MySQL的定时器和存储过程

1、数据库是否开启定时器 -- 查看是否开启定时器  SHOW VARIABLES LIKE '%sche%'; -- 开启定时器 0:off 1:on  0或者off 表示关闭 1或者on表示开启 ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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