任何人都可以在oracle中为表中的更改建议一个好的事件模式设计或框架。
更改不仅基于列值更改,还基于业务驱动逻辑。所有日志记录都应由某些事件设置驱动。
最后,我们会根据更改跟踪更改并推动业务逻辑。
我可能说的太高了,抱歉:)
答案 0 :(得分:1)
假设需要跟踪ColumnA的ColumnA。
触发器
之类的东西CREATE OR REPLACE TRIGGER trg_table_audit
before insert or update or delete on tableA REFERENCING NEW AS NEW OLD AS OLD
for each row
begin
if inserting or deleting then
insert into audittrail (....)
答案 1 :(得分:1)
阅读精细手册:Using Triggers to Write Audit Data to a Separate Table:
您可以使用触发器来补充Oracle数据库的内置审核功能。您创建的触发器将用户操作记录到单独的数据库表。当活动触发触发器时,触发器会在此表中记录操作。当您想要记录自定义信息(如对表的更改前后)时,触发器非常有用。
阅读更多精美的手册:PL/SQL Triggers:
触发器就像Oracle Database在指定事件发生时自动调用的存储过程。
最重要的是,您可以构建一个启动和关闭触发器的设置引擎。 “业务逻辑”可以稍后读取触发器记录的数据。
我认为你对审计不感兴趣。有关详情,请参阅例如Verifying Security Access with Auditing
答案 2 :(得分:0)
如何开始使用TRIGGERS?然后,从那里,您可以从包体中调用过程/函数来跟踪表上的更改。