【发布时间】:2019-09-25 17:51:36
【问题描述】:
我正在使用 Teradata,我的查询是
SELECT deptno, name, salary
FROM personnel.employee;
上面的表格每天都会自动更新,例如添加/删除新行,更新现有值。没有日期/时间字段。
有没有办法只能获取更改而不是所有记录?还有一种方法可以知道哪些记录是新的,哪些是更新的?很高兴运行多个查询,因为文件大小会很小。 Teradata 是否有内部表来记录更新/删除?我需要特殊权限才能访问此类表吗?谢谢。
【问题讨论】:
-
我认为他们希望保留员工工资的历史记录。如果他们还没有,我建议他们使用新的时间戳/生效日期/时间将新记录添加到员工表中,并将旧记录留在表中。
-
不幸的是,我没有那种级别的访问权限来更改表等。我必须每天下载这个大文件。我想知道 teradata 中是否有任何内置的日期功能?
-
我不知道 Teradata 会通过表中的记录来维护历史记录。我认为它可以存储表格的修改日期,但这可能无济于事。您可以让您的 Teradata DBA/ETL 人员开始存储历史记录,或者您可以通过保存每日查询结果然后将每一天与前一天进行比较来自己创建它。但是您需要输入某种关键字段。 Name 或 Deptno 可能不起作用。
标签: sql teradata teradata-sql-assistant