2016-08-16 74 views
0

我想知道一個緩存InterSystems的數據庫表的最後更新時間最後更新的時間戳。請讓我知道相關的命令。我跑過他們的命令文檔:緩存InterSystems的命令來獲取表

http://docs.intersystems.com/latest/csp/docboo/DocBook.UI.Page.cls?KEY=GTSQ_commands 

但我沒有看到任何這樣的命令。我也試過搜索這個:

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_currenttimestamp 

這不是命令的完整文檔嗎?

回答

1

緩存」不保持默認‘最近更新’的信息,因爲它可能會在DML操作帶來不必要的性能損失。

您可以手動添加這一領域感興趣的每個表:

Property LastUpdated As %TimeStamp [ SqlComputeCode = { Set {LastUpdated}= $ZDT($H, 3) }, SqlComputed, SqlComputeOnChange = (%%INSERT, %%UPDATE) ]; 

這樣,它會保持最後更新的時間/插入的每一行,但它仍然不會幫你刪除。

或者 - 你可以設置觸發每一個DML操作,將在單獨的表保持時間戳。

如果沒有額外的編碼來收集這些信息的唯一方法是掃描日誌文件,這是不是真的打算使用這些和充其量是緩慢的。