mysql - 在存储过程中创建事件

标签 mysql events stored-procedures mysql-event mysql-routines

如何在存储过程中创建事件?

这是我一直在尝试做的,它告诉我我有一个语法错误,只是它没有告诉我在哪里。

-- --------------------------------------------------------------------------------
-- Routine DDL
-- Note: comments before and after the routine body will not be stored by the server
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `update_leaderboard`()
BEGIN


CREATE EVENT update_leaderboard_event
    ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 minute
    DO call update_leaderboard();



END

编辑: 根据我的 MySql(最后一行)应该是可能的:

Syntax”. You can create an event as part of a stored routine, but an event cannot be created by another event.

Edit2 发现问题:

Error 1576: Recursion of EVENT DDL statements is forbidden when body is present

但是还没有解决办法,那怎么办呢?

最佳答案

您不能创建内部过程。您需要单独定义它。

查一下Mysql Event Scheduler
详情博客:http://goo.gl/6Hzjvg

关于mysql - 在存储过程中创建事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14403660/

相关文章:

php - 如何将查询的值分配给 zend 中的变量

c# - 将枚举元素作为事件参数传递 C#

javascript - DOM 级别 3 规范的事件组章节发生了什么?

c# - 使用 LINQ 访问存储过程值。 Entity Framework 5,数据库优先

sql - 创建对两个列组合MSSQL的约束

php - PHP和MySql上传大小问题

mysql - 数据库连接 golang mysql

mysql - 对大型表(有两个左连接表)的查询结果非常慢

c# - 将事件处理程序附加到 Com 事件 : InvalidOperationException (S7-PLCSIM)

sql - 如何从特定数据库中的所有表中检索不属于主键和外键的所有列