我知道我可以用它来创建DDL创建触发器;
CREATE OR REPLACE TRIGGER
create_table_trigger
AFTER CREATE ON SCHEMA
DECLARE
BEGIN
END;
问题是这个触发器会在“创建序列”等DDL上运行;我怎样才能为“创建表”DDL执行此操作?
答案 0 :(得分:15)
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(链接已关闭)
Wayback机器链接到上面死链接的内容: https://web.archive.org/web/20110809071133/http://ist.marshall.edu/ist480adbp/plsql_triggers.html
据我所知,dictionary_obj_type是其中之一 TABLE | SEQUENCE | PROCEDURE | INDEX | FUNCTION |类型|封装
而dictionary_obj_name只是表/序列/ proc / etc的名称。