审核表中的DML交易

问题描述

我想将DML中一天发生的任何table交易记录到另一个表中。我也想用值记录交易。在Oracle Database中怎么可能?

有人告诉我不要使用触发器,因为它需要大量维护,而且会降低应用程序的速度。

解决方法

您可能有几个选择

  1. 闪回数据存档。

这使用闪回技术捕获记录的更改,然后可以通过“之间的版本”语法查询记录的更改。完全不使用触发器,但是有一些限制。此处的视频演练

https://www.youtube.com/watch?v=qIs2UPIodQg

  1. 审计触发器只要写得好(批量绑定等),就可以高效进行。如果您不喜欢维护开销,可以使用此工具自动生成触发器,并在表随时间变化时对其进行维护。

https://connor-mcdonald.com/2020/08/04/level-up-your-audit-trigger-game/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...