【问题标题】:How to get created time of record in Oracle?如何在 Oracle 中获取记录的创建时间?
【发布时间】:2020-12-14 07:29:00
【问题描述】:

Oracle 数据库中的数据有问题:

我想获取表中某些记录的创建时间。我可以获得记录的 ora_rowscn,但我无法通过查询 SELECT SCN_TO_TIMESTAMP(ora_rowscn) 将此 ora_rowscn 更改为时间戳,因为 SCN_TO_TIMESTAMP() 可能不适用于较旧的数据(我的数据是在大约 1 个月前插入的)。 任何人都有解决此问题的解决方案让我获得创建时间?

【问题讨论】:

  • 如果您的表或应用程序没有内置某种审计功能,那么您现在可能无能为力。

标签: database oracle timestamp


【解决方案1】:

假设您对此要求有长期需求,也许最好的办法是更改您当前的表并添加一个真正的时间戳列。你可以给这个时间戳列一个当前时间戳的默认值,例如

CREATE TABLE yourTable (
    ...
    created_time TIMESTAMP(6) default CURRENT_TIMESTAMP
);

然后,在插入新记录时,省略提及 created_time 列,让 Oracle 用当前时间戳回填它。

【讨论】:

    猜你喜欢
    • 2022-11-04
    • 2013-11-11
    • 2018-01-08
    • 2017-02-21
    • 2022-01-14
    • 2017-02-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多