Plsql 每当执行select查询时,始终从表中计数记录

Plsql 每当执行select查询时,始终从表中计数记录,plsql,count,Plsql,Count,每当在模式中执行select查询时,我希望统计表中的所有记录 每次我无法从(select_查询)写入select count(*)。 我想要一个实用程序、过程、函数等,它统计表中的记录 注意:我使用SQL开发工具。这个查询看起来特别奇怪。这真的会破坏你的数据库。(根据优化器模式和数据库的使用级别,这将“杀死”它) 我看到的唯一方法是使用细粒度审计(DBMS_FGA) 从示例中可以很容易地添加以下内容 select_sql := sys_context('userenv','current_sql

每当在模式中执行select查询时,我希望统计表中的所有记录

每次我无法从(select_查询)写入select count(*)。 我想要一个实用程序、过程、函数等,它统计表中的记录
注意:我使用SQL开发工具。

这个查询看起来特别奇怪。这真的会破坏你的数据库。(根据优化器模式和数据库的使用级别,这将“杀死”它)

我看到的唯一方法是使用细粒度审计(DBMS_FGA)

从示例中可以很容易地添加以下内容

select_sql := sys_context('userenv','current_sql');   
if instr(select_sql, 'select /*counter*/ count(*)') = 0 then
      nb_rows := execute immediate('select /*counter*/ count(*) from (' || select_sql || ')'); 
end if;
并将结果存储在专用表中或发送到其他地方

当然,您应该为每个表生成一个触发器