我有两个Oracle模式A和B。
我可以在架构A中创建一个触发器,以监听架构B上的创建表吗?如果是,我需要做哪些补助?
是的你可以。用户需要具有CREATE ANY TRIGGER
:
作为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;
作为一个:
CREATE OR REPLACE TRIGGER a.create_trigger
BEFORE CREATE ON b.SCHEMA
BEGIN
raise_application_error(num => -20000, msg=> 'create_trigger vetoes');
END;
/
作为b:
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
您必须微调此触发器,它不仅会CREATE TABLE
针对所有CREATE
语句触发...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句