【问题标题】:automate call stored procedure自动调用存储过程
【发布时间】:2012-02-26 18:11:08
【问题描述】:

我认为以前没有人回答过这个问题。

我有一个存储过程,它根据 MySQL 中的特定条件输入记录。在 SQL 中输入 Call 过程时会添加一条记录。我想知道如何在不必键入 CALL 过程来输入存储过程的情况下自动执行 CALL 过程。

谢谢

SS

我已经创建了这个事件。一段非常短但有效的代码。

CREATE EVENT addlesson
ON SCHEDULE EVERY 7 DAY
STARTS CURRENT_DATE() 
ON COMPLETION PRESERVE
ENABLE
DO 
INSERT INTO timetbl VALUES (CURRENT_DATE(), 'MAT02', 'MATHS', '1800');

使用 EVERY 进行重复,使用 PRESERVE 保留事件。

【问题讨论】:

  • 程序从哪里得到它的记录数据? PHP 还是数据库中已经存在的数据?
  • 数据库中已经存在。但是,对我来说,事件调度器更适合我的应用程序。我可以添加信息而无需参考存储过程。
  • 太棒了.... 如果 CREATE EVENT 已经全部在数据库中,我将建议使用率极低的 CREATE EVENT,不需要 cron 作业或 php 脚本或任何外部的东西

标签: php mysql stored-procedures call


【解决方案1】:

在 MySQL 5.0.2 及更新版本中,您可以创建触发器。

http://dev.mysql.com/doc/refman/5.0/en/triggers.html

触发器由 SQL 语句激活(例如,您可以定义在每次插入某个表后运行 sql 的触发器)。

在 MySQL 5.1.12 及更高版本中,您可以使用事件。

http://dev.mysql.com/doc/refman/5.1/en/events-overview.html

事件按日期/时间激活。

【讨论】:

  • 感谢您为我指明正确的方向。事件调度程序正是我想要的。
猜你喜欢
  • 2014-10-09
  • 2013-11-23
  • 1970-01-01
  • 1970-01-01
  • 2020-01-15
  • 1970-01-01
  • 1970-01-01
  • 2010-09-14
相关资源
最近更新 更多