我有一个案例,我需要回滚数据库上的更改,但我也想保留插入的日志。
插图:
Add processing log Insert some data Insert some data Insert some data Add processing log Do some checking... Checking Failed Add processing log Rollback;
- 其他插入数据的同一数据库上的日志表
有什么办法做到这一点吗?
我通常希望有一个集中的日志记录例程,在该日志记录包中,在用于写入日志的函数中,在过程头声明之后插入此行
PRAGMA AUTONOMOUS_TRANSACTION;
这将把日志插入到调用例程的不同事务中,允许您提交日志,而不管父例程中发生了什么。
文档详细信息:http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/autotransaction_pragma.htm