在雪花表中添加上次更改时间戳记

时间:2020-09-02 15:42:13

标签: snowflake-cloud-data-platform

我在Snowflake中有很多表,每天都在使用python脚本更新它们(基本上是重新创建它们)。 我可以在数据库的信息架构中看到上次更改这些表的时间戳,但是如何将列或该信息添加到我们的一个表中?

假设我有一个表客户,并且希望能够看到该表的每一行上次更改的时间。我可以在这里看到此时间戳:

SELECT CONVERT_TIMEZONE('Etc/GMT+9','UTC',last_altered) AS last_changed
FROM "XXXX"."INFORMATION_SCHEMA"."TABLES"
WHERE table_name='CUSTOMERS';

如何将此信息添加到客户表?

2 个答案:

答案 0 :(得分:0)

如果您想查看该信息,您的python程序应将该信息添加为每一行中的其他列。我们以前将这些列称为“ WHO COLUMNS”,以下是我们在最终模式中添加到每个表中的WHO WHOLUMN

  1. 最后更新的时间戳记
  2. 最后更新的用户
  3. 创建时间戳

答案 1 :(得分:0)

最好的选择是向客户表中添加一个附加的审计列,其默认值为current_timestamp

示例:

CREATE TABLE CUSTOMER (column1 varchar, insert_date timestamp default current_timestamp())

在此示例中,您可以使用insert_date来跟踪何时插入该记录。每当您插入这样的行时,该列就会自动填充。

INSERT INTO CUSTOMER(column1) VALUES ('test')