如何在oracle中查找更新时间
在oracle中更新表的特定记录时,是否有要查找的命令。如何在oracle中查找更新时间,oracle,plsql,Oracle,Plsql,在oracle中更新表的特定记录时,是否有要查找的命令。 我想检测oracle中更新记录的顺序。没有直接的方法。也许您可以使用Oracle Flashback技术。因此,您可以看到旧版本的行 默认情况下,它可以为每个表保留900秒(15分钟)的历史记录。你可以增加它,并保证保持。但要确保你有足够的空间 在oracle中查找表的特定记录何时更新的步骤 您需要了解有关ORA_ROWSCN。对于每一行,ORA_ROWSCN返回该行最近更改的保守上限系统更改编号(SCN)。此伪列用于确定上次更新行的大致
我想检测oracle中更新记录的顺序。没有直接的方法。也许您可以使用Oracle Flashback技术。因此,您可以看到旧版本的行 默认情况下,它可以为每个表保留900秒(15分钟)的历史记录。你可以增加它,并保证保持。但要确保你有足够的空间 在oracle中查找表的特定记录何时更新的步骤 您需要了解有关
ORA_ROWSCN
。对于每一行,ORA_ROWSCN
返回该行最近更改的保守上限系统更改编号(SCN)。此伪列用于确定上次更新行的大致时间
阅读更多信息。我不知道是否有办法做到这一点,但如果您有长期的需求,请在表中添加上次更新的时间戳列。顺便说一句,如果您使用一种叫做“软删除”的东西,您甚至可能不需要物理删除记录。使用软删除,记录被标记为已删除,而无需物理删除。我已更新了时间戳列,但当用户直接从数据库更新时,此字段对我没有帮助,您可以在该表中创建虚拟列,它的“计算”如下:每次插入/更新记录时,它都会在其末尾追加sysdate,从而为您提供插入/更新的历史记录。您可以在每个日期的开始处添加“ins”、“upd”等字样,以指示操作。请记住,当值达到该列允许的最大值时,将使用一些逻辑来截断该值。。。就像一个想法一样,快速而肮脏的-altertable yourTable将始终生成的hist_col clob添加为(hist_col | | to_clob(sysdate))VIRTUAL
。为什么是clob-所以你不在乎它被更新了多少次(4Gigs的文本…嗯,几千年的更新)。实际上你不需要“ins”、“upd”关键字,因为只有第一个是“插入的”,其余的都是“更新的”。我删除了我的评论,因为不可能创建这样的专栏。这里的解决方案是使用触发器,除此之外,这听起来不是解决表设计问题的好办法。