我有一个包含数百个表的OOB 系统。每个表都有一个 ROWSTAMP 列(整数),每次创建/更新记录时都会由触发器填充。
数据库中的所有表和触发器都使用相同的序列。每次在数据库中的任何位置更新记录时,都会使用一个序列来获取下一个可用整数。(我想我可以认为该序列是一种全局序列)。
不幸的是,那些 ROWSTAMP 列是整数,而不是日期。我在表中真正需要的是 CHANGEDATE 列。一般来说,日期对于数据输入故障排除、报告和分析很有用。但我不能真正证明自定义数百个带有日期列的表并在 OOB 系统中添加数百个触发器是合理的。IBM 不支持定制表,因此不值得付出努力/增加复杂性。
我觉得那些 ROWSTAMP 列对我非常有用。我不禁想知道:
有没有办法检索生成这些 ROWSTAMP 序列值的日期?
例如,我怀疑这是可能的,我可以在序列中添加一个 DATE 列,然后从我的表连接到序列以获取日期吗?或者,每当使用下一个序列值时,我是否可以在序列上使用某种日志记录机制将行(带日期)放入表中?
无法将日期添加到序列中,也无法从本质上知道何时生成序列值。您需要向
CHANGEDATE
每个表添加一列,并让触发器为每个修改的记录更新该列,或者使用 and 创建一个审计表ROWSTAMP
并CHANGEDATE
插入到该表中,以及触发器触发的所有其他更改。– pmdba