从其他表中检索数据后,Mysql中的事件调度程序

时间:2015-10-09 09:54:25

标签: mysql

我需要来自表employee的反向数据,如

select empid, name, place, position, date_of_joining where status=active

将检索到的数据保存在调度程序中的循环中。如果名为position的列为Software engineerdate_of_joining> 01-01-2010,那么empid,名称,地点,位置必须保存在另一个表名valid_employees

如何为此编写调度程序? 我之前从未写过调度程序。我是这个话题的新手。请帮忙。

提前致谢

2 个答案:

答案 0 :(得分:1)

CREATE EVENT上的MySql文档完全描述了如何在mysql中设置事件的示例。

在事件正文中(在DO之后),您需要编写一个insert ... select ...语句,该语句将记录传输到有效的employees表。它将是这样的:

INSERT IGNORE INTO valid_employees
    (empid, name, place, position, date_of_joining, status)
    SELECT (empid, name, place, position, date_of_joining, status) FROM employees
    WHERE status='active' and position='Software Engineer' and Date('2010-01-01')<date_of_joining

但我会考虑使用上面的选择在employees表上创建一个视图,然后您不必创建事件并将数据传输到另一个表。这可能是一个更有效的解决方案,但我们不知道细节,以提出哪个是更好的解决方案。

答案 1 :(得分:0)

以下语句创建一个每分钟执行一次的重复事件,并在创建时间后的1小时内过期。然后等待1分钟,检查表格并查看是否添加了记录:

using