首页 > 解决方案 > 安排 Sybase IQ SQL 代码每天运行

问题描述

我有一些每天需要运行的 SQL 代码,用于提取最新数据,以便我的 Tableau 仪表板拥有最新数据以供管理层查看。

如您所见,我获得了前 6 周的最新数据

我的示例代码如下

SELECT *
FROM fictitious_table
WHERE dcla.DAY BETWEEN DATEADD(wk, -6, TODAY()) AND DATEADD(dd, -1, TODAY())  -- USES 6 WEEK ROLLING WINDOW

我已经阅读了有关在 IQ 中创建事件的信息,因此我根据提供的示例提出了以下代码。

CREATE EVENT DAILY_RX
SCHEDULE
START TIME '1:00 pm' EVERY 24 HOURS
HANDLER
BEGIN
DROP TABLE IF EXISTS myName.DAILY_RX;
INSERT INTO myName.DAILY_RX
SELECT *
    FROM fictitious_table
    WHERE dcla.DAY BETWEEN DATEADD(wk, -6, TODAY()) AND DATEADD(dd, -1, TODAY())  -- USES 6 WEEK ROLLING WINDOW
END;

当我尝试运行代码时,由于语法错误“[Code: 102, SQL State: 42W04] SQL Anywhere Error -131: Syntax error near 'END' on line 92”而出错

我从中复制的示例没有 drop table 语句,所以这就是我认为我失败的地方。

我可以获得最新的 6 周数据并将其存储在我的表中的最佳/最有效方式是什么?

标签: sqlscheduled-taskssap-iq

解决方案


推荐阅读