繁体   English   中英

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

[英]Teradata - How to find when was table last UPDATED not Altered

我想知道如何查找最后一次更新 Teradata 表的时间。 我所看到的每一个地方,我都知道它最后一次改变是什么时候。 更新和Altered一样吗?

我得到了 Alter 表的代码:

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

UPDATE 表是什么? 谢谢

就 SQL 请求而言, UPDATEALTER是两个不同的东西。 ALTER修改表结构( DDL )——即添加/修改列。 UPDATE修改表数据( DML )——即添加/删除行。

据我记得,没有简单的方法可以查看上次修改(更新)表的时间,除非您添加一些在每次写入表时设置的自定义审计字段(即lastAlterTimestamp )。

如果您想知道表何时更新,您可能会考虑使用触发器。

再会!

要查找表上次更新的时间,可以尝试解析查询日志表。 例如,让您的表名为 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM