我知道我可以用它来创建DDL创建触发器;
CREATE OR REPLACE TRIGGER create_table_trigger AFTER CREATE ON SCHEMA DECLARE BEGIN END;
问题是这个触发器会在“创建序列”之类的DDL上运行;我怎样才能为’创建表’DDL执行此操作?
解决方法
CREATE OR REPLACE TRIGGER create_table_trigger AFTER CREATE ON SCHEMA BEGIN IF SYS.DICTIONARY_OBJ_TYPE = 'TABLE' THEN .... END;
有关EVENT属性的列表,请参阅此页面
http://ist.marshall.edu/ist480adbp/plsql_triggers.html(链接已关闭)
据我所知,dictionary_obj_type是其中之一
TABLE | SEQUENCE |程序|首页|功能|类型|包装
而dictionary_obj_name只是表/序列/ proc / etc的名称.
> dictionary_obj_type返回触发触发器的DDL操作发生的字典对象的类型.> dictionary_obj_name返回触发触发器的DDL操作发生的字典对象的名称.