Teradata-如何查找上次更新表的时间未更改

时间:2019-10-16 02:31:50

标签: sql teradata insert-update

我想知道如何查找Teradata表的最后更新时间。我所到的任何地方,我上次修改的时间都是。是否与“已更改”相同?

我得到了Alter表的代码:

SELECT TABLENAME, LASTALTERTIMESTAMP 
FROM DBC.TABLES
WHERE DATABASENAME = 'Schema' 
AND TABLENAME = 'table'
ORDER BY LASTALTERTIMESTAMP DESC

UPDATE表是什么?谢谢

3 个答案:

答案 0 :(得分:0)

就SQL请求而言,UPDATEALTER是两件事。 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