一、使用命令行创建存储过程的步骤 :参数详情参考 https://www.mysqlzh.com/

1、模板 

delimiter $$ # 设置分隔符为 '$$' ,mysql默认的语句分隔符为 ';' ,这样在后续的 create 到 end 这段代码都会看成是一条语句来执行

CREATE PROCEDURE 存储过程名称(你的参数可选)

BEGIN  # 开始

 // 要写的code
// ... END$$ # 结束
DELIMITER ; #将语句的结束符号恢复为分号

 注意,创建存储过程的时候,如果采用命令行的方式,需要先修改命令结束符,将分号改成其他的符号 

2、首先我们创建一个表 test_table 里面有主键id,用户名称username,有某个产品数量 counts

DROP TABLE IF EXISTS `test_table`;

CREATE TABLE `test_table` (
`id` int(11) NOT NULL,
`counts` int(11) DEFAULT NULL,
`username` varchar(64) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `test_table`;的意思是如果当前数据库有test_table这个表就删除这个表。

3、先插入一条数据

insert into test_table(id,username,counts) VALUES (1,'张三',6);

4、创建一个存储过程 pro_demo

delimiter $$

CREATE PROCEDURE pro_demo(IN p_in int)
BEGIN update test_table set counts=counts+p_in where id=1; END$$ DELIMITER ;

PROCEDURE 是存储过程的关键字 ,pro_demo 是存储过程名称 (IN p_in int) 中 IN是输入int类型的参数 p_int

5、调用存储过程

call pro_demo(5);

结果是11

6、创建一个事件并定时调用存储过程

CREATE EVENT `gov_jm`.`event_demo`
ON SCHEDULE
EVERY '5' SECOND STARTS '2021-1-12 00:00:01'
DO call pro_demo(3);

EVENT 的是事件关键字,gov_jm是当前数据库名称,event_demo是该事件的名称 5秒中调用一次pro_demo()。

6.1开启定时器

set GLOBAL event_scheduler = 1; 

到这里,定时任务已经可以执行了

6.2 查看事件运行状态

select * from mysql.event

6.3开启或者关闭事件

ALTER EVENT event_demo DISABLE;

ALTER EVENT event_demo ENABLE;

二、使用 Navicat for mysql:

创建存储过程

点击完成后在打开的界面中 begin里写你的具体内容

创建事件

选择完成后点击保存,选择保存的事件名称

MySql创建存储过程,并使用事件定时调用的更多相关文章

  1. mysql创建存储过程,定时任务,定时删除log

    -- 创建存储过程 清除30天前的日志create procedure deleteLog()BEGINdelete from contract_vlog where create_time<D ...

  2. mysql创建 存储过程 并通过java程序调用该存储过程

    create table users_ning(id primary key auto_increment,pwd int); insert into users_ning values(id,123 ...

  3. [转]MYSQL 创建存储过程

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...

  4. mysql -- 创建存储过程 往数据表中新增字段

    需求: 往某数据库的某个表中新增一个字段(若该字段已存在,则不做操作:若该字段不存在,则新增) 百度了n久,没有符合要求的例子,只有参考加自己琢磨,最终终于给弄出来了,以下是几个版本的更迭 第一版: ...

  5. mysql 创建存储过程

    mysql 创建存储过程 实例一: CREATE PROCEDURE cp_test() BEGIN declare a int; declare b int; ; ; select a,b; END ...

  6. iBatis调用存储过程以及MySQL创建存储过程

    首先是MySQL中创建存储过程的SQL -- 列出全部的存储过程 SHOW PROCEDURE STATUS; -- 查看一个已存在的存储过程的创建语句,假设此存储过程不存在,会提示SQL错误(130 ...

  7. mysql创建存储过程及调用

    创建存储过程简单示例: DELIMITER //CREATE PROCEDURE ccgc()BEGINSELECT * FROM TEXT;SELECT * FROM s_user;END//DEL ...

  8. mysql 创建存储过程 创建1000w测试数据表

    存储过程:The stored procedure 结构 CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE stored_procedure_n ...

  9. mysql创建存储过程中的问题

    1.在创建存储过程成功后,使用call 存储过程名执行时报错: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_gener ...

随机推荐

  1. jq中$(function(){})和js中window.onload区别

    先看下执行代码: $(function(){   console.log("jq");}) $(function(){   console.log("jq1") ...

  2. Windows的API功能查询

    在逆向分析时,一些Windows的API函数往往是我们的突破口.但这些函数很难记得一清二楚,以下是我的查找办法,做个小结. 官网 https://docs.microsoft.com/en-us/wi ...

  3. uwsgi+nginx 基于linux的各种离谱错误

    1.常见的排查方法 1.nginx错误 启动报错 systemctl restart nginx tail -f /var/log/nginx/error.log 在浏览器中访问抱错 tail -f ...

  4. Vscode:常用的插件

    Chinese (Simplified) Language Pack for Visual Studio Code==>汉化 Live Server==>运行代码 ESLint==> ...

  5. python爬虫--用xpath爬豆瓣电影

    步骤 将目标网站下的页面抓取下来 将抓取下来的数据根据一定规则进行提取   具体流程 将目标网站下的页面抓取下来 1. 倒库 import requests 2.头信息(有时候可不写) headers ...

  6. C++将整型值转换为字符串

    最简单的方法是使用一个字符串流(stringstream):#include<iostream>#include<string>#include<sstream>u ...

  7. 一文说通C#中的异步迭代器

    今天来写写C#中的异步迭代器 - 机制.概念和一些好用的特性   迭代器的概念 迭代器的概念在C#中出现的比较早,很多人可能已经比较熟悉了. 通常迭代器会用在一些特定的场景中. 举个例子:有一个for ...

  8. 2020-2021-1 20209307 《Linux内核原理与分析》第八周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第八周作业> 这个作业的目标 & ...

  9. Spark性能优化指南

    1 Spark开发调优篇 原则一:避免创建重复的RDD 原则二:尽可能复用同一个RDD 原则三:对多次使用的RDD进行持久化 原则四:尽量避免使用shuffle类算子 因此在我们的开发过程中,能避免则 ...

  10. Animate..css的一些属性使用

    使用基本的代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...