对于一个上线运行的系统,使用DDL操作是十分谨慎的。为了防止不必要的误操作,可以通过DDL触发器对某些表禁用DDL操作。可以在需要禁止的操作类型上使用raise_application_error函数来禁止操作,比如:
CREATE OR REPLACE TRIGGER DDL_FB before ALTER OR DROP OR RENAME
on schema
BEGIN
Raise_application_error(-20030,’此系统已经运行,不允许对表进行DDL维护’);
end;
对于设置了这类触发器的用户,如果需要修改表结构,那么需要首先把这个触发器关掉。