Triggers Oracle SQL developer中多个表的单触发器
我几乎在每个论坛上都找过这个话题,但没有找到令人信服的解决方案。我使用的是SQL Developer,这就是我遇到的问题 我有1000多个表,我想在另一个审计表中捕获每个表上的CRUD操作 例如,表A有列Triggers Oracle SQL developer中多个表的单触发器,triggers,oracle-sqldeveloper,Triggers,Oracle Sqldeveloper,我几乎在每个论坛上都找过这个话题,但没有找到令人信服的解决方案。我使用的是SQL Developer,这就是我遇到的问题 我有1000多个表,我想在另一个审计表中捕获每个表上的CRUD操作 例如,表A有列(a1、a2、a3),表B有列(b1、b2、b3)。现在,如果在表a中插入和/或更新了一条记录,触发器将在审计表中插入该记录,其中包含表名、列名及其值 (table ,col, value) 审核表将有此记录-(表A,a2,'xyz')。表B的程序相同 我有一个想法,使用元表,它将有所有表的列
(a1、a2、a3)
,表B有列(b1、b2、b3)
。现在,如果在表a中插入和/或更新了一条记录,触发器将在审计表中插入该记录,其中包含表名、列名及其值
(table ,col, value)
审核表将有此记录-(表A,a2,'xyz')
。表B的程序相同
我有一个想法,使用元表,它将有所有表的列表。然后是元表上的触发器,但这听起来有点愚蠢,而且非常复杂
对不起,这是我的第一篇文章,所以格式不好。请帮忙 你看过吗?我看过。Oracle的内置审计跟踪有助于跟踪数据库用户执行的操作。它无助于捕获更新/插入/删除的值。FGA可以捕获值,但不是您真正想要的方式;你似乎更想了解历史而不是审计。您不能有一个跨多个表的表触发器,而且除非每个表都在更新,否则元表的想法就不起作用,因此它们无论如何都需要自己的触发器,所以您最好直接从表触发器创建历史记录。您可以通过编程的方式为每个表生成触发器创建,这会使任务更简单吗?