当前位置: 代码迷 >> Oracle开发 >> 增删改数据用户的获取有关问题,大神请进
  详细解决方案

增删改数据用户的获取有关问题,大神请进

热度:54   发布时间:2016-04-24 06:25:31.0
增删改数据用户的获取问题,大神请进!
     现在手头有这么一个需求:用户a下创建一张表test,然后用sys用户登录去修改表test的数据,如何获取当前被修改的记录是sys用户做的操作??

我在A用户下创建了表test的触发器,但是貌似不行,请大神指点一二!

------解决思路----------------------


SQL> conn a/a ;
已连接。
SQL>
SQL> create table test(id int , name varchar(10));

表已创建。

SQL> insert into test values (1,'wang');

已创建 1 行。

SQL> insert into test values (2,'li');

已创建 1 行。

SQL>
SQL> create table log_test(id int , username varchar(10)) ;

表已创建。

SQL>
SQL> create trigger test_up
  2  before update on test
  3  for each row
  4  begin
  5    insert into log_test (id,username) values(:new.id,user) ;
  6  end ;
  7  /

触发器已创建

SQL>
SQL> update test set name ='ss' where id =1 ;

已更新 1 行。

SQL>
SQL> conn /as sysdba
已连接。
SQL>
SQL> update a.test set name ='uu' where id =2 ;

已更新 1 行。

SQL>
SQL> select * from a.log_test  ;

        ID USERNAME
---------- --------------------
         1 A
         2 SYS

SQL>
SQL>
SQL> drop table a.test purge ;

表已删除。

SQL> drop table a.log_test purge ;

表已删除。

SQL>
  相关解决方案