如何创建一个存储视图数据的表 - MySQL

时间:2015-12-17 20:22:05

标签: mysql stored-procedures views

MySQL数据库(5.5)

我创建了一个视图,每次刷新时都会产生一行数据:

curtime(),span,curSPM

15:19:38,5,454.2000

这里有两个目标:

    • 此视图每4分钟刷新一次 -
  1. 将该视图中的数据存储到收集记录的永久表中(以便能够查看历史数据)。
  2. 基本上,我试图捕捉和存储"生活"数据。我已经尝试创建一个运行查询的过程 - 我可以创建表 - 但我无法获取表来存储数据。关于我可能缺少哪些步骤的任何想法?

    更新问题:

    这是我的程序(或我正在处理的程序) -

    DELIMITER //
    CREATE PROCEDURE pullSPMM2
    BEGIN () 
    Insert INTO testTable (SELECT * FROM Machine2SPM);
    END //
    DELIMITER;
    

    一些事情 - 我知道它还不完全正确 - (这不是我原来的 - 我从一个干净的名单开始)。

    我不确定首先需要放入什么参数

    其次,一旦我有将最新行插入表格的程序 - 我知道我需要安排一个每5分钟运行一次的活动。像这样:

    CREATE EVENT myevent
        ON SCHEDULE EVERY 5 MINUTE
        DO
          #procedure to insert row into table;
    

1 个答案:

答案 0 :(得分:0)

想出一种不同的方式来做得更有效(也更简单)。我过度复杂了(有时很容易)。

CREATE EVENT CollectM2SPM ON SCHEDULE EVERY 5 Minute ON COMPLETION NOT PRESERVE ENABLE DO Insert INTO testTable (SELECT * FROM M2SPM);

我还需要运行它来启动它:SET GLOBAL event_scheduler = ON;

希望其他人也觉得这很有帮助! :)

谢谢!