我的数据库有两个用户a和b,a有dba权限,b只有对一些表的select,update,insert,delete和创建session的权限。我用用户a的权限创建了一些触发器以及和这些触发器相关的表
这样,a当然可以执行这些触发器和对这些表进行操作;
但是我不明白为什么b也有这些执行权限,我并没有赋权限给他啊?

解决方案 »

  1.   

    trigger
    是放在system表空间的,所以所有的用户都可以使用
      

  2.   

    而且,用户a是建在另外一个表空间的,不是system表空间。
    所以trigger会放在system表空间吗?
      

  3.   

    所有的trigger都放在system表空间,这一点可以肯定的
      

  4.   

    我认为不是b对相关的表进行了trigger操作,而是b在更新相关表数据时,因为表数据的更新触发了trigger,而不是b执行了trigger.
      

  5.   

    触发器本身是针对表数据的变化进行动作,怎么会存在危险呢,即使有危险存在,也是trigger的机制或逻辑存在问题.