我知道可以使用这个来创建DDL create trigger;
CREATE OR REPLACE TRIGGER
create_table_trigger
AFTER CREATE ON SCHEMA
DECLARE
BEGIN
END;
问题是这个触发器会在像“创建序列”的DDL上运行;我该如何仅对“创建表”DDL执行此操作?
我知道可以使用这个来创建DDL create trigger;
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(链接已失效)
可以使用Wayback机器人来访问上述失效链接的内容: https://web.archive.org/web/20110809071133/http://ist.marshall.edu/ist480adbp/plsql_triggers.html
据我所知,dictionary_obj_type是以下类型之一:TABLE|SEQUENCE|PROCEDURE|INDEX|FUNCTION|TYPE|PACKAGE
而dictionary_obj_name仅是表/序列/过程等的名称。