-1

我刚刚编写了一个 mysql 存储过程,它将根据某些条件从两个表中获取数据,然后将它们插入到第三个表中。我计划安排此过程在以下两种情况之一中运行:a)当在前两个表中的任何一个中创建新条目并更新第三个表时,或者 b)仅安排 proc 每隔 5 分钟运行一次并更新第三个表。

我不知道如何执行选项 a)。我正在考虑使用 cron 在我的基于 linux 的网络主机中进行调度,但在最后一刻意识到他们不允许我正在使用的基本版本的 cron 作业。

这让我接触到了 onlinecronjobs.com 和其他类似的服务,但我不明白他们将如何帮助我运行这个存储过程。

我的问题是,如果我给这些网站提供存储过程的链接 - 例如:www.mysite.com/cron/mySP.sql 那么这些网站可以自动调用这个存储过程并让存储过程将数据插入第三个表吗?我的假设是否正确 - 只需要给他们存储过程的路径,是吗?

谢谢!

4

1 回答 1

3

a) 使用触发器

CREATE TRIGGER foo AFTER INSERT ON tableA FOR EACH ROW CALL my_proc();
CREATE TRIGGER bar AFTER INSERT ON tableB FOR EACH ROW CALL my_proc();

b) 使用 MySQL 的事件调度器

CREATE EVENT baz ON SCHEDULE EVERY 5 MINUTE DO CALL my_proc();
于 2012-10-14T10:58:07.323 回答