6
我知道我可以使用它创建DDL创建触发器;创建触发器只在创建新表时运行
CREATE OR REPLACE TRIGGER
create_table_trigger
AFTER CREATE ON SCHEMA
DECLARE
BEGIN
END;
问题是这个触发器会在DDLs上运行,如'Create sequence';我怎么才能执行这个'创建表'DDLs?
我知道我可以使用它创建DDL创建触发器;创建触发器只在创建新表时运行
CREATE OR REPLACE TRIGGER
create_table_trigger
AFTER CREATE ON SCHEMA
DECLARE
BEGIN
END;
问题是这个触发器会在DDLs上运行,如'Create sequence';我怎么才能执行这个'创建表'DDLs?
CREATE OR REPLACE TRIGGER
create_table_trigger
AFTER CREATE ON SCHEMA
BEGIN
IF SYS.DICTIONARY_OBJ_TYPE = 'TABLE' THEN
....
END;
事件的属性列表,请参阅本页面
http://ist.marshall.edu/ist480adbp/plsql_triggers.html(链路断开)
据我所知,dictionary_obj_type是 表的一个| SEQUENCE |程序|首页|功能| TYPE | PACKAGE
而dictionary_obj_name只是表/序列/ proc/etc的名称。
创建表格听起来像是一个非常值得怀疑的数据库设计。 – 2011-01-27 03:26:48
@OMG可能,但是肯定有时候创建表是一个很好的设计。 – jzd 2011-01-27 03:37:55