mysql 存储过程 调度_mysql 存储过程和事件调度
存储过程(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;selecta;
end$$
delimiter ;//将语句结束改回;
因为在存储过程中使用了 ;号 为了不让mysql 运行 需要修改mysql 语句结束符;
调用
call select_number(11);
结果为 :
基于这个建立一个事件:
create event ifnot exists test
on schedule every10second
on completion preservedo call select_number(11);
每隔10秒执行以下 select_number 这个存储过程 test 是时间的名称;
定时插入案例
存储过程为:
delimiter $$
create procedure insert_name(in name varchar(20))
begin
insert into a2 values(name);
end$$
delimiter ;
建立每个10秒插入事件:
create event ifnot exists insert_name
on schedule every10second
on completion preservedo 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 = 1;
查看有哪些存储过程:
show procedure status;
查看存储过程建立代码:
show create procedure proc_name;
mysql 存储过程 调度_mysql 存储过程和事件调度相关推荐
- mysql命令查看事件调度_mysql 5.1事件调度器 状态查看、开启命令,以及测试
五.事件调度器测试 5.1.测试目的 5.1.1 配置方法 5.1.2 是否正常工作 5.1.3 日常的维护 5.2.事件调度器介绍 自MySQL5.1.6起,增加了一个非常有特色的功能–事件调 ...
- mysql任务调度器_mysql存储过程和任务调度器
-- 创建月表和日表的存储过程 delimiter $$ use `devicitydb1`$$ drop procedure if exists `createTable`$$ create def ...
- mysql的存储过程原理_mysql存储过程原理与用法详解
本文实例讲述了Mysql存储过程原理与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是存储过程 存储过程的创建 存储过程的使用 查看存储过程 修改存储过程 删除存储过程 首发日期:2018- ...
- mysql 存储过程 控制台_mysql 存储过程 调试
mysql存储过程之游标遍历数据表 原文:mysql存储过程之游标遍历数据表 今天写一个mysql存储过程,根据自己的需求要遍历一个数据表,因为对存储过程用的不多,语法不甚熟悉,加之存储过程没有调试环 ...
- mysql存储过程调试_MYSQL存储过程调试过程
mysql不像oracle有plsqldevelper工具用来调试存储过程,所以有几种简单的方式追踪执行过程: 1.用一张临时表,记录调试过程: 2.直接在存储过程中,增加select xxx,在控制 ...
- mysql 存储过程 定时_MySQL存储过程和定时任务
什么是存储过程 存储例程是存储在数据库服务器上的一组sql语句,这些语句通过在查询中调用指定的名称来执行. 存储过程是存储在数据库中的一组SQL语句 存储过程是mysql中定义的方法 可以通过调用方法 ...
- mysql 函数 局部变量_MySQL 存储过程 存储函数 局部变量 游标 概念示例
一个存储过程是一个可编程的函数,它可以在MySQL中创建并保存.它是由一些SQL语句和一些特殊的控制结构语句组成. 当希望在不同的应用程序或平台上执行相同的函数,或者封装特定的功能时,存储过程是一个非 ...
- mysql 存储过程求和_MySQL - 存储过程和函数
MySQL - 存储过程和函数 创建和调用存储过程 -- 创建stu_group()存储过程,封装 分组查询总成绩,并按照总成绩升序排序的功能 -- 注意: DELIMITER 必须写在一行的最前面, ...
- mysql存储过程触发器_MySQL存储过程及触发器
一.存储过程 存储过程的基本格式如下: -- 声明结束符 -- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名 ...
- mysql存储过程删除_MySQL 存储过程删除大表
1.权限问题 alter routine 编辑或删除存储过程 create routine 建立存储过程 execute 创建存储过程 2.存储过程相关的一些命令 show procedure sta ...
最新文章
- 数据导出为Excel(未完)
- python实现顺序查找和哈希查找
- 商业逻辑12讲之战略管理的逻辑
- 03JavaScript程序设计修炼之道-2019-06-20_20-31-49
- [搬家]新域名 akagi201.org
- tortoise svn 请求的名称有效,但是找不到请求的类型的数据
- osgi java web_基于 OSGi 和 Spring 开发 Web 应用
- 【图论】【二分图匹配】[POJ 3041]I'm Telling the Truth
- python实现QQ机器人(自动登录,获取群消息,发送群消息)
- LED灯具检验标准与方法
- java pos58打印_POS58票据热敏打印机,怎么用ESC/POS命令控制打印
- 华为设备MSTP配置命令
- 微软放弃收购雅虎的提议
- 中国计算机科技成果,中国科技成就有哪些(盘点2020年中国八大黑科技)
- 去年我国出生率跌破1%,有什么影响?
- Attribute 特性详解
- 微信小程序学习笔记一 + 小程序介绍 前置知识
- rank over pation
- Xing: The Land Beyond — 从课堂到 Steam* 的卓越之旅
- OpenGLES---设置获取Shader程序属性