存储过程(procedure):

建立一个存储过程需要知道的基础知识

1.确定输入/输出的参数和类型:

IN tname varchar(20) 其中 IN 表示输入参数,tname  是参数名 varchar(20) 是参数类型

RETURNS int(10)  其中 RETURNS 表示输出 返回  ,int(10) 表示 返回类型

2.定义变量和赋值。

declare 定义变量  例如   declare a float;

set 赋值    例如  set a=0;  或者 set a = rand();

如果set 的变量前面有@符号表示这个变量是一个会话变量。否则是一个局部变量。

3.过程的出体部分。可以是各种运算,也可以是数据库操作。支持 if ...else 、循环等基本语法。

4.程序可以有返回值 也可以没有

5.调用存储过程 使用 call 例如  call pro_name('1','2');

建立一个存储过程的格式:

create procedure   存储过程名称  (IN $table_name varchar(20),IN $field varchar(10))

begin //主体开始

//主体

end // 主体结束

definer

例如:

delimiter $$   设置语句结束符为 //
DROP PROCEDURE IF EXISTS select_number//
create procedure select_number(in ac int)
begin
declare a text;
set a=ac;
select a;
end$$
delimiter ; //将语句结束改回;

因为在存储过程中使用了 ;号 为了不让mysql 运行 需要修改mysql 语句结束符;

调用

call  select_number();

结果为  :

基于这个建立一个事件:

create event if not exists test
on schedule every second
on completion preserve
do call select_number();

每隔10秒执行以下  select_number 这个存储过程   test 是时间的名称;

定时插入案例

存储过程为:

 delimiter $$
create procedure insert_name(in name varchar())
begin
insert into a2 values(name);
end$$
delimiter ;

建立每个10秒插入事件:

create event if not exists insert_name
on schedule every second
on completion preserve
do call insert_name('test_name');

每隔多一点时间  查看一个a2 表 看看是否多了一个  test_name  的值;

关闭事件:

alter event insert_name on completion preserve disable;

删除事件:

drop event insert_name;

查看所有事件:

show events;

如果event 执行不了,可能是因为event功能没有打开;

查看event是否打开:

show variables like '%scheduler%';

开启:

set global event_scheduler = ;

查看有哪些存储过程:

 show procedure status;

查看存储过程建立代码:

show create procedure proc_name;

mysql 存储过程和事件调度的更多相关文章

  1. 记录-MySQL中的事件调度Event Scheduler

    下面是自己的实例 /*查询event是否开启(查询结果Off为关闭 On为开启)*/show variables like '%sche%'; /*开启/关闭命令(1开启--0关闭)*/set glo ...

  2. MySQL计划任务(事件调度器)(Event Scheduler)

    http://www.cnblogs.com/c840136/articles/2388512.html https://dev.mysql.com/doc/refman/5.7/en/events- ...

  3. MYSQL存储过程及事件

    关于mysql下的存储过程以及事件的创建 以下这个存储过程主要实现的功能就是查询表里面半年前的数据,假设有就存到文件.然后将数据删除. CREATE DEFINER = `root`@`localho ...

  4. MySQL计划任务(事件调度器)(Event Scheduler)[转]

    原文链接: http://www.cnblogs.com/c840136/articles/2388512.html MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件.定时任务机 ...

  5. MySQL计划任务(事件调度器)

    原文:http://www.cnblogs.com/c840136/articles/2388512.html 备忘; MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件.定时任务 ...

  6. mysql存储过程和事件

    1.会员表member和车辆表car,更新每个会员下面的车辆数量have_car字段. DELIMITER $$ USE $$ DROP PROCEDURE IF EXISTS `sp_update_ ...

  7. mysql存储过程游标加计划任务事件调度器

    存储过程加事件调度器 -- 存储过程 (多个)游标的使用 临时表的使用(让执行时间从一个小时降低到5分钟)DELIMITER $$ DROP PROCEDURE IF EXISTS `eval_cal ...

  8. mysql数据库事件调度(Event)

    mysql中的事件调度器可以定时对数据库增加,删除和执行操作,相当于数据库中的临时触发器,与Linux系统中的执行计划任务一样,这样就可以大大降低工作量. 1.开启事件调度器 [root@node1 ...

  9. mysql事件调度器定时删除binlog

    MySQL5.1.6起Mysql增加了事件调度器(Event Scheduler),可以用做定时执行某些特定任务,来取代原先只能由Linux操作系统的计划任务来执行的工作MySQL的事件调度器可以精确 ...

随机推荐

  1. LVM 'Can’t open /dev/sdb1 exclusively. Mounted filesystem?' Problem

    服务器做mysql时候,添加的新磁盘做lvm时候,创建物理卷报错 saltstack_s:/proc/scsi # cat /proc/partitions major minor #blocks n ...

  2. 1.初识Shell脚本语言

    PS:在做Linux下STM8固件升级项目中,需要让CPU通过I2C总线给STM8传输数据,刚开始一个一个的敲,很浪费时间,用shell脚本大大提高了数据传输效率,它是用户与内核进行交互操作的一种接口 ...

  3. FreeBSD network connect

    在安装FreeBSD的过程中,网络设置部分我将其设置为DHCP,在此期间,下载了en_us_freebsd_hanbook.txzen_us_freebsd_hanbook.txz,zh_cn_fre ...

  4. 多线程java的concurrent用法详解(转载)

    我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便.而当针对高质量Java ...

  5. scp 从远程拷贝文件不需要密码

    执行这一句,弹出来要你输入密码,输入一次后,以后再 scp 远程机的文件  再也不需要密码了 ssh-copy-id myusername@8.8.8.8

  6. 第一部分:连接MYSQL数据库代码

    <?php $connec=mysql_connect("localhost","root","root") or die(" ...

  7. oracle字符集相关

    转: Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character se ...

  8. Djunit工作记录Mock时出现为null的情况setReturnValueAt|MockObjectManager.addReturnValue不起作用

    最近工作要对代码进行局部测试并编写测试文档,可是偶的环境还没搞好哦(开始不太乐意直接请教前辈,还是选择自己先搞一下了)经过电脑重装jdk ,eclipse,djunit工具包ver***,等等确定不是 ...

  9. UWP toast

    Windows10的自适应和交互式toast通知是一个新特性.它可以让你: 创建灵活的toast通知,包括内嵌图片及更多的内容,不在局限于之前Windows 8.1和Windows Phone 8.1 ...

  10. sqlserver数据库 Schema

    //读取数据库中所有的数据库 USE MASTER DECLARE @is_policy_automation_enabled bit SET @is_policy_automation_enable ...