从侦听其他用户事件的用户在Oracle上创建触发器

从侦听其他用户事件的用户在Oracle上创建触发器,oracle,triggers,schema,Oracle,Triggers,Schema,我有两个Oracle模式A和B 我可以在模式a中创建一个触发器,用于侦听模式B上的创建表吗? 如果是,我需要哪些补助金?是的,你可以。用户a需要创建任何触发器: 作为DBA: CREATE USER a IDENTIFIED BY a; GRANT CREATE SESSION, CREATE ANY TRIGGER TO a; CREATE USER b IDENTIFIED BY b; GRANT CREATE SESSION TO b; 作为: 作为b: 您必须微调此触发器,它不仅会为

我有两个Oracle模式A和B

我可以在模式a中创建一个触发器,用于侦听模式B上的创建表吗?
如果是,我需要哪些补助金?

是的,你可以。用户a需要
创建任何触发器

作为DBA:

CREATE USER a IDENTIFIED BY a;
GRANT CREATE SESSION, CREATE ANY TRIGGER TO a;

CREATE USER b IDENTIFIED BY b;
GRANT CREATE SESSION TO b;
作为:

作为b:


您必须微调此触发器,它不仅会为
CREATE TABLE
触发,还会为所有
CREATE
语句触发…

谢谢!问题:如果使用此触发器创建策略,这应该是在创建之前还是在创建之后?我相信,但我只是想confirm@user3019499-如果要阻止正在创建的表,请在
之前执行
;但对于您创建策略的场景,则在
之后创建策略,是的。
CREATE OR REPLACE TRIGGER a.create_trigger
  BEFORE CREATE ON b.SCHEMA
BEGIN
  raise_application_error(num => -20000,  msg=> 'create_trigger vetoes');
END;
/
CREATE TABLE t(i INT);
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-20000: create_trigger vetoes
ORA-06512: at line 2