问题描述
我想将DML
中一天发生的任何table
交易记录到另一个表中。我也想用值记录交易。在Oracle Database
中怎么可能?
有人告诉我不要使用触发器,因为它需要大量维护,而且会降低应用程序的速度。
解决方法
您可能有几个选择
- 闪回数据存档。
这使用闪回技术捕获记录的更改,然后可以通过“之间的版本”语法查询记录的更改。完全不使用触发器,但是有一些限制。此处的视频演练
https://www.youtube.com/watch?v=qIs2UPIodQg
- 审计触发器只要写得好(批量绑定等),就可以高效进行。如果您不喜欢维护开销,可以使用此工具自动生成触发器,并在表随时间变化时对其进行维护。
https://connor-mcdonald.com/2020/08/04/level-up-your-audit-trigger-game/