技术开发 频道

ORACLE PL/SQL编程之八:把触发器说透

  8.2.3 创建系统事件触发器

  ORACLE10G提供的系统事件触发器可以在DDL或数据库系统上被触发。DDL指的是数据定义语言,如CREATE 、ALTER及DROP 等。而数据库系统事件包括数据库服务器的启动或关闭,用户的登录与退出、数据库服务错误等。创建系统触发器的语法如下:

  创建触发器的一般语法是:

CREATE OR REPLACE TRIGGER [sachema.]trigger_name

  {BEFORE|AFTER}

  {ddl_event_list | database_event_list}

  
ON { DATABASE | [schema.]SCHEMA }

  [WHEN condition]

  PL
/SQL_block | CALL procedure_name;

  其中: ddl_event_list:一个或多个DDL 事件,事件间用 OR 分开;

  database_event_list:一个或多个数据库事件,事件间用 OR 分开;

  系统事件触发器既可以建立在一个模式上,又可以建立在整个数据库上。当建立在模式(SCHEMA)之上时,只有模式所指定用户的DDL操作和它们所导致的错误才激活触发器, 默认时为当前用户模式。当建立在数据库(DATABASE)之上时,该数据库所有用户的DDL操作和他们所导致的错误,以及数据库的启动和关闭均可激活触发器。要在数据库之上建立触发器时,要求用户具有ADMINISTER DATABASE TRIGGER权限。

  下面给出系统触发器的种类和事件出现的时机(前或后):

ORACLE PL/SQL编程:创建系统事件触发器

   8.2.4 系统触发器事件属性

ORACLE PL/SQL编程:创建系统事件触发器

    除DML语句的列属性外,其余事件属性值可通过调用ORACLE定义的事件属性函数来读取。

ORACLE PL/SQL编程:创建系统事件触发器

0
相关文章