簡體   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