我有一个我正在使用的现有应用程序,并且客户已经为审计日志定义了他们想要的表结构.它包含以下列:
storeNo
timeChanged
user
tableChanged
fieldChanged
BeforeValue
AfterValue
Run Code Online (Sandbox Code Playgroud)
通常我在每个表上都有简单的审计列,它们提供userChanged和timeChanged值.将写入这些表的应用程序是一个Java应用程序,并且通过jdbc在oracle数据库上进行调用.我的问题是获得前/后值的最佳方法是什么.我讨厌比较对象以查看填充此表的更改,这不会有效.如果一个更新中有多个列发生更改,则此新表将包含多个条目.或者有没有办法在oracle中这样做?过去其他人做了什么来跟踪变化而不是改变价值观?
ska*_*man 10
传统上这是oracle触发的内容.每次插入或更新都会触发一个存储过程,该存储过程可以访问"之前和之后"数据,您可以根据需要进行操作,例如将旧值记录到审计表中.它对应用程序是透明的.
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:59412348055
| 归档时间: |
|
| 查看次数: |
2600 次 |
| 最近记录: |