博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Oracle9i + PL_SQL学习笔记<3>

Posted on 2009-09-16 11:02  lynstone  阅读(176)  评论(0)    收藏  举报
如果想知道某个用户模式(如dmsuser)下的模式对象是什么时候创建的以及其他一些创建模式对象时的信息,就要用到一个DDL触发器来实现。实现方法分两步:
1>创建一个表来保存创建表时的各类信息
create table OBJECT_CREATED
(
  OWNER       VARCHAR2(30),
  NAME        VARCHAR2(30),
  TYPE        VARCHAR2(30),
  CREATE_USER VARCHAR2(30),
  TIME        DATE
)
2>创建DDL触发器,触发事件为create ,代码如下:
create or replace trigger create_object
after create on dmsuser.schema
begin
insert into dmsuser.object_created(
owner,
name,
type,
create_user,
time)
values(sys.dictionary_obj_owner,
sys.dictionary_obj_name,
sys.dictionary_obj_type,
sys.login_user,
sysdate);
end;