在 SQL 中,如何将数据作为每日 activity 更新到数据仓库?

In SQL, how do I update data to the data warehouse as a daily activity?

我正在尝试弄清楚如何创建一个策略来 UPDATE 数据仓库的维度和事实 table,作为每日 activity。

本质上,在数据被插入操作数据库的日期,我希望它被填充到维度 tables 中,因此 Fact table.

为此,我假设我会使用 SYSDATE() 作为 WHERE 条件的一部分,但我不知道如何将 SYSDATE() 的日期部分设置为等于获取操作数据的那一天。会是'today'吗?我不知道。

我什至不能举一个有说服力的例子,因为我真的不知道我在做什么。

我在某处看到如果我只使用日期,更新将发生在午夜?

我真的不知道下一步该去哪里。有人可以帮忙吗?

@Theant6118 听起来你有很多研究和逆向工程要做。没有关于一天中什么时间或什么时间进行和更新的固定规则。如果有人说午夜,这可能取决于您的操作数据数据库的所有 ETL(提取转换负载)作业何时完成,并且可能取决于您的 ETL 过程使用什么日期来过滤它从跨国数据源中提取和不提取的内容.

接下来,您似乎也想知道使用什么日期时间函数来确定当前系统时间,这在某种程度上取决于您使用的数据库引擎。

就时间而言。如果您的操作数据库是您的数据仓库的数据源(这是非常标准的),那么无论您正在同步的跨国信息的日期是什么,您都可以为您的数据仓库处理 cubes/tabular 模型或 ETL。

  1. 绝对用正在使用的技术更新这个问题。例如sql-服务器、oralce等

  2. 在 if sql-server SQL 代理作业执行它们所做的事情及其依赖项时进行一些发现。我不确定其他平台上的等效项是什么。并更新这个问题。

  3. 查询数据!检验您的假设以查看操作数据存储中包含哪些信息以及数据仓库中包含哪些信息。

  4. 构建您的游戏平面并开始执行。

持续学习 学习 了解 ETL、正在使用的特定技术以及当前配置!