我用mysql 5编写了这个触发器:
在插入tbl_daily后为每一行开始创建触发器changeToWeeklly
插入tbl_weeklly SELECT *从车辆定位v
其中v.recivedate < curdate();
从tbl_daily中删除recivedate < curdate();
末端;
我希望按日期归档记录,将昨天插入的记录从dailly移到每周表,最后一次每周表移到挂载表,并从上一个表中删除这些记录--此触发器在“每日表插入”发生时出现以下错误:“无法更新存储函数/触发器中的表'tbl_daily‘,因为调用此存储函数/触发器的语句已经使用了它。”
请帮助我解决有关表格中的旧数据存档问题:
昨天将插入的记录移到每周表中,如果有可靠的解决方案,请告诉我.
发布于 2010-07-15 11:26:06
不能从同一表的insert触发器中删除表中的行。无论如何,我建议将触发器中的处理保持在最低限度是非常有利的。
我个人认为只有一个插入触发器,在vehicleslocation表上,他的唯一任务是将每个插入的行复制到tbl_daily存档表中。然后,我将有一个单独的SQL查询,该查询将在每天结束时自动运行一次,以便对您的归档数据执行所需的内务管理:--即。在月底清除旧的月度数据,在周末将所有行从每周移动到每月,并在每天结束时将所有行从一天移动到每周。
https://stackoverflow.com/questions/2910584
复制相似问题