如何判断谁往表里增加了一条纪录? 如何判断谁往表里增加了一条纪录? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 事先打开审计功能或者在表上建立触发器。事后可以通过logmnr查看。 用触发器create or replace trigger tri_test after insert on tb -->判断此表是否被插入记录for each row begin insert into ta(日期) values(sysdate) ;commit;end ; 建立表级触发器是个好办法,能够跟踪到更多的信息.可以在应用程序中嵌入包DBMS_APPLICATION_INFO,利用DBMS_APPLICATION_INFO.SET_CLIENT_INFO设置CLIENT_INFO信息,然后在trigger中用DBMS_APPLICATION_INFO.READ_CLIENT_INFO得到其设置的信息,可以判断是不是应用程序插入了数据。 用数据库审计即可,先设置audit_trail参数,决定审计结果保存地点;然后执行audit insert on schema.table_name whenever successful;这样就行了,在有人做insert操作后,根据audit_trail参数到相应位置去看审计结果就行了。建触发器其实也是审计,是基于值的审计,比数据库审计慢,不过审计的内容可以更详细。 你的需求上面我说的3种方法都能实现。 不一定要在oracle中判断,也可以在程序端判断!insert into来判断! 请问一个简单的联表问题 各位高手呀!快来看看 oracle 行列转换 只差一步 SQL中如何判断是否有字母? 请问在Oracle中的嵌套表有什么用处,怎么定义嵌套表,怎么使用嵌套表 急~SQL查询语句的困惑~~帮忙解决呀~~ 请教一个问题 SQL语句,效率问题。 数据比较问题 在赛扬上安装8i时,无反应,请问如何处理? 如何重建CONTROL FILE String转clob存进oracle数据库,报“ORA-01008: 并非所有变量都已关联”错误 在进行oracle练习的时候,监听器总是自己关闭,这是怎么回事?
事后可以通过logmnr查看。
create or replace trigger tri_test
after insert
on tb -->判断此表是否被插入记录
for each row
begin
insert into ta(日期) values(sysdate) ;
commit;
end ;
可以在应用程序中嵌入包DBMS_APPLICATION_INFO,利用DBMS_APPLICATION_INFO.SET_CLIENT_INFO设置CLIENT_INFO信息,然后在trigger中用DBMS_APPLICATION_INFO.READ_CLIENT_INFO得到其设置的信息,可以判断是不是应用程序插入了数据。
先设置audit_trail参数,决定审计结果保存地点;
然后执行audit insert on schema.table_name whenever successful;
这样就行了,在有人做insert操作后,根据audit_trail参数到相应位置去看审计结果就行了。建触发器其实也是审计,是基于值的审计,比数据库审计慢,不过审计的内容可以更详细。 你的需求上面我说的3种方法都能实现。
insert into来判断!