mysql event procedure_Mysql 新建 Event 和 Stored Procedure

Event

MySql的事件调度是在5.1引入的,从而可以将数据的定时操作放在数据库级别,而不是通过其它外部的程序定时执行。

Mysql event 的执行依赖于事件调度器 event_scheduler,查看其是否已开启:

mysql> SHOW VARIABLES LIKE '%event_scheduler%';

-- 若值为 off, 则开启

mysql> SET GLOBAL event_scheduler = "ON";

下面新建 event:

-- create event

DELIMITER $$

DROP EVENT IF EXISTS `event_name`$$

SET character_set_client = utf8;

SET character_set_results = utf8;

SET collation_connection = utf8_general_ci;

-- 从 2017-05 起,每月的第一天执行该 event

CREATE EVENT event_name ON SCHEDULE EVERY '1' MONTH STARTS '2017-05-01 00:00:00'

DO

BEGIN

DECLARE CONTINUE handler FOR SQLEXCEPTION

BEGIN

ROLLBACK;

SET autocommit = 1;

END;

SET autocommit = 0;

START TRANSACTION;

-- do something, for example:

call procedure_name();

COMMIT;

SET autocommit = 1;

END;

$$

DELIMITER ;

Stored Procedure

存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。

下面新建 stored procedure:

-- create procedure

DELIMITER $$

DROP PROCEDURE IF EXISTS `insert_attendance_relevant_data`$$

SET character_set_client = utf8;

SET character_set_results = utf8;

SET collation_connection = utf8_general_ci;

CREATE PROCEDURE `insert_attendance_relevant_data`()

BEGIN

-- sql statement set

END;

$$

DELIMITER ;

MySQL存储过程是在MySQL数据库中创建的一段可重复使用的代码块。它可以接收参数并执行一系列的操作,比如查询数据、插入数据、更新数据等。通过使用存储过程,可以将复杂的逻辑封装起来,使得代码更加模块化和可维护。 要创建一个存储过程,可以按照以下步骤进行操作: 步骤一:创建一个用于测试的数据库。 首先,创建一个名为`storedprocedure_test`的数据库,可以使用以下命令: ```sql create database `storedprocedure_test`; ``` 步骤二:选择使用所创建的数据库。 接下来,选择使用`storedprocedure_test`数据库,使用以下命令: ```sql use storedprocedure_test; ``` 步骤三:创建存储过程。 然后,使用`CREATE PROCEDURE`语句创建存储过程。在创建存储过程时,需要指定存储过程的名称、参数以及要执行的代码。例如,创建一个名为`selectUser`的存储过程,用于查询`user`表中的`u_id`和`username`字段,并返回结果。可以使用以下命令: ```sql DELIMITER // CREATE PROCEDURE selectUser() BEGIN SELECT u_id, username FROM user; END // DELIMITER ; ``` 步骤四:调用存储过程。 最后,可以使用`CALL`语句调用存储过程,以执行其中的代码并返回结果。例如,调用名为`selectUser`的存储过程,可以使用以下命令: ```sql CALL selectUser(); ``` 该命令将返回`u_id`和`username`字段的查询结果。 总结起来,创建和调用MySQL存储过程的步骤如下: 1. 创建用于测试的数据库(步骤一); 2. 选择使用创建的数据库(步骤二); 3. 创建存储过程,并定义参数和执行的代码(步骤三); 4. 调用存储过程,执行其中的代码并返回结果(步骤四)。 引用内容: https://www.runoob.com/w3cnote/mysql-stored-procedure.html 步骤四:创建存储过程并调用 步骤一:创建一个 storedprocedure_test 数据库进行测试<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MySQL —— Stored Procedure (MySQL存储过程的快速上手与使用 囊括应用案例)](https://blog.csdn.net/fuijiawei/article/details/124914190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值