存储过程(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. 关于JSTL一些需要说明的

    一直认为与.NET相比,JAVA最大的问题在于不统一,当然这可能是自由的代价,正如某某某一样,造成的结果是需要记各种各样的版本,有jsp的.servlet的.各种框架的.各种容器的,不一而足.今天要说 ...

  2. Design and Analysis of Algorithms_Brute Froce

    I collect and make up this pseudocode from the book: <<Introduction to the Design and Analysis ...

  3. C++程序员如何入门Unreal Engine 4

    摘要: 一位程序员网友小保哥分享自己的UE4快速上手过程,只是笔记,52VR做了一点更加适合阅读的修改,整理给大家. 首先,本文只是针对有比较熟练C++技能的程序员,他可以没有任何图形学或游戏引擎方面 ...

  4. nginx----------------环境搭建遇到的一些问题汇总--(多域名配置,配置文件修改问题)

    nginx的启动命令是:(通用) /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 重启命令: /usr/local/ng ...

  5. web前端基础知识 jQuery

    通过之前的学习我们已经了解了html.css.javascript的相关知识:本次我们就共同学习进阶知识:jQuery~ 一.什么是jQuery? jQuery其实就是一个轻量级的javascript ...

  6. python web前端

    概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器 ...

  7. R语言学习-基础篇

    从五月10日开始自学R in action,将我的学习所得逐渐发布在博客上. chapter1.新手上路 工作空间:存储着所有用户定义的对象(向量,矩阵,函数,数据框,列表): 当前的工目录保存是R用 ...

  8. 浅谈在静态页面上使用动态参数,会造成spider多次和重复抓取的解决方案

    原因: 早期由于搜索引擎蜘蛛的不完善,蜘蛛在爬行动态的url的时候很容易由于网站程序的不合理等原因造成蜘蛛迷路死循环. 所以蜘蛛为了避免之前现象就不读取动态的url,特别是带?的url 解决方案: 1 ...

  9. 夺命雷公狗-----React---18--value和defaultValue的区别

    <!DOCTYPE> <html> <head> <meta charset="utf-8"> <title></ ...

  10. 卸载Centos自带open-jdk

    1.rpm查看安装文件 rpm -qa|grep java 2,切换到root用户,卸载 rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.75-2. ...