Teradata - 如何找到 table 上次更新未更改的时间
Teradata - How to find when was table last UPDATED not Altered
我想知道如何找到 Teradata table 最后更新的时间。我看到的每个地方都知道它最后一次改变是什么时候。 updated 和 Altered 一样吗?
我得到了 Alter table 的代码:
SELECT TABLENAME, LASTALTERTIMESTAMP
FROM DBC.TABLES
WHERE DATABASENAME = 'Schema'
AND TABLENAME = 'table'
ORDER BY LASTALTERTIMESTAMP DESC
更新 table 有什么用?谢谢
就SQL 请求而言,UPDATE
和ALTER
是两个不同的东西。 ALTER
修改 table 结构 (DDL
)——即添加/修改列。 UPDATE
修改 table 数据 (DML
) -- 即添加/删除行。
据我所知,没有简单的方法可以查看 table 上次修改(更新)的时间,除非您添加一些您每次设置的自定义审核字段(即 lastAlterTimestamp
)你写信给 table.
如果您想知道 table 何时更新,您可以考虑使用触发器。
美好的一天!
要查找 table 最后一次更新的时间,您可以尝试解析查询日志 table。
例如,让您的 table 名称为 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
我想知道如何找到 Teradata table 最后更新的时间。我看到的每个地方都知道它最后一次改变是什么时候。 updated 和 Altered 一样吗?
我得到了 Alter table 的代码:
SELECT TABLENAME, LASTALTERTIMESTAMP
FROM DBC.TABLES
WHERE DATABASENAME = 'Schema'
AND TABLENAME = 'table'
ORDER BY LASTALTERTIMESTAMP DESC
更新 table 有什么用?谢谢
就SQL 请求而言,UPDATE
和ALTER
是两个不同的东西。 ALTER
修改 table 结构 (DDL
)——即添加/修改列。 UPDATE
修改 table 数据 (DML
) -- 即添加/删除行。
据我所知,没有简单的方法可以查看 table 上次修改(更新)的时间,除非您添加一些您每次设置的自定义审核字段(即 lastAlterTimestamp
)你写信给 table.
如果您想知道 table 何时更新,您可以考虑使用触发器。
美好的一天!
要查找 table 最后一次更新的时间,您可以尝试解析查询日志 table。 例如,让您的 table 名称为 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