【问题标题】:weekly event select into file with different filenames depending on the variables(MariaDB)每周事件根据变量选择不同文件名的文件(MariaDB)
【发布时间】:2022-09-27 21:41:08
【问题描述】:

直到现在,我一直是一个沉默的读者。 现在我想询问您的专业知识并在这里发布我的第一个问题。

我必须每周通过事件在我的 MariaDB 中完成以下任务:

每周星期六晚上午夜,我想将某个视图的结果保存在 excel 文件 (xlsx) 中。文件名应该是可变的,具体取决于 site_id 和当前时间戳。

将结果保存到文件后,我想用另一个事件清理数据库表,但必须成功完成前一个事件作为启动清理事件的条件。

例如文件名: viewname_[site_id]_timestamp.xlsx

整体周刊_3_01082022.xlsx

这是我到目前为止所拥有的:

事件 1(将结果保存到文件中):

CREATE EVENT overall_weekly
ON SCHEDULE EVERY 1 WEEK 
STARTS TRUNCATE(CURRENT_TIMESTAMP) + \'00:00:00\' HOUR_SECONDS 
ON COMPLETION PRESERVE
ENABLE 
DO
    DECLARE  @path = char
    DECLARE  @view = char 
    DECLARE  @site_id = int(3)
    DECLARE  @timestamp = timestamp
    DECLARE  @filetype = char(5)
    DECLARE  @full_filename = char
    
    SET  @path = \"/home/reports/\"
    SET  @view = \"overall_traffic_weekly\"
    SET  @site_id = 3
    SET  @timestamp = current_timestamp 
    SET  @filetype = \".xlsx\"
    SET  @full_filename = CONCAT(@path,@view,@site_id,@timestamp,@filetype)
         
     SELECT * FROM 
        (   
            SELECT \'Column_name_1\',\'Column_name2\', ...
            UNION ALL
        (
            SELECT * FROM overall_weekly 
            WHERE site_id = 3
        )
        ) resulting_set

    INTO OUTFILE  @full_filename
    FIELDS TERMINATED BY \';\' 
    OPTIONALLY ENCLOSED BY \'\"\'
    LINES TERMINATED BY \'/n\';

事件 2(清理):

事件 1 必须成功完成,事件 2 才能开始。 如果事件 1 以错误结束,则不得开始清理。

    CREATE EVENT cleanup
    ON SCHEDULE EVERY 1 WEEK 
    STARTS TRUNCATE(CURRENT_TIMESTAMP) + \'03:00:00\' HOUR_SECONDS 
    ON COMPLETION PRESERVE
    ENABLE 
    DO
      TRUNCATE sourcetable1,
      TRUNCATE Sourcetable2
   ;

非常感谢您的阅读。

    标签: sql variables mariadb recurring-events select-into-outfile


    【解决方案1】:

    问题解决了: 我改用 2 个表,并将 2 个记录匹配到第三个表中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      相关资源
      最近更新 更多