我想知道如何查找Teradata表的最后更新时间。我所到的任何地方,我上次修改的时间都是。是否与“已更改”相同?
我得到了Alter表的代码:
SELECT TABLENAME, LASTALTERTIMESTAMP
FROM DBC.TABLES
WHERE DATABASENAME = 'Schema'
AND TABLENAME = 'table'
ORDER BY LASTALTERTIMESTAMP DESC
UPDATE表是什么?谢谢
答案 0 :(得分:0)
就SQL请求而言,UPDATE
和ALTER
是两件事。 ALTER
修改表结构(DDL
)-即添加/修改列。 UPDATE
修改表格数据(DML
)-即添加/删除行。
据我所知,除非您添加每次写入表时设置的一些自定义审核字段(即lastAlterTimestamp
),否则没有简单的方法来查看表的最后修改(更新)时间。
答案 1 :(得分:0)
如果您想知道表何时更新,可以考虑使用触发器。
答案 2 :(得分:0)
美好的一天!
要查找表的最后更新时间,可以尝试解析查询日志表。 例如,让您的表名是TNAME,它位于模式SNAME中。
因此您可以使用以下查询:
select
username,
firststeptime,
querytext
from pdcrinfo.dbqlobjtbl_hst
where
statementtype = 'Update'
and querytext like 'insert into SNAME.TNAME%'
qualify row_number() over (partition by 1 order by firststeptime desc) = 1