【问题标题】:Oracle Database Object - Last DDL vs TIMESTAMPOracle 数据库对象 - 最后一个 DDL 与 TIMESTAMP
【发布时间】:2019-04-06 01:19:05
【问题描述】:

我正在尝试确定哪个日期可以反映在 Oracle 11g 数据库上修改对象的时间。

last_ddl_time 或时间戳

我已经阅读了许多主题,但找不到明确的答案。如果我理解正确,某些事件会触发最后一个 DDL 日期更改,但不会触发 TIMESTAMP?

谁能详细说明。我有一个初学者水平的理解,所以耐心等待。

谢谢

【问题讨论】:

  • 您指的这个“时间戳”属性是什么? LAST_DDL_TIME 是表最后一次应用 DDL(结构)更改,但不包括 DML(数据)。

标签: database oracle oracle11g timestamp ddl


【解决方案1】:

是的 - check out the documentation

LAST_DDL_TIME  Timestamp for the last modification of the object and dependent objects resulting from a DDL statement (including grants and revokes)
TIMESTAMP      Timestamp for the specification of the object (character data)

TIMESTAMP 仅适用于对象本身 - 因此,如果您创建一个表,则只有在您更改表中的列或表本身的某些其他属性时才会更新它。

LAST_DDL_TIME 包括影响对象的任何更改,包括对依赖对象的更改。因此,如果您向表添加约束或授权,则 LAST_DDL_TIME 将为表更新,但 TIMESTAMP 不会。

尝试使用一些不同的 DDL 语句。

【讨论】:

  • 谢谢Kfinity!这非常有帮助 - 话虽如此,如果我看到昨天的最后一个 DDL 时间 - 但是 2 周前的时间戳 - 可以安全地假设对象本身没有被修改而是一些依赖对象吗?
  • 这是我的理解,是的
猜你喜欢
  • 2013-11-15
  • 2020-03-10
  • 1970-01-01
  • 2021-02-25
  • 1970-01-01
  • 2021-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多