特性 | INSERT | UPDATE | DELETE |
OLD | NULL | 有效 | 有效 |
NEW | 有效 | 有效 | NULL |
事件 | 允许的时机 | 说明 |
启动STARTUP | 之后 | 实例启动时激活 |
关闭SHUTDOWN | 之前 | 实例正常关闭时激活 |
服务器错误SERVERERROR | 之后 | 只要有错误就激活 |
登录LOGON | 之后 | 成功登录后激活 |
注销LOGOFF | 之前 | 开始注销时激活 |
创建CREATE | 之前,之后 | 在创建之前或之后激活 |
撤消DROP | 之前,之后 | 在撤消之前或之后激活 |
变更ALTER | 之前,之后 | 在变更之前或之后激活 |
事件属性/事件 | Startup/Shutdown | Servererror | Logon/Logoff | DDL | DML |
事件名称 | | | | | |
数据库名称 | | ||||
数据库实例号 | | ||||
错误号 | | ||||
用户名 | | ||||
模式对象类型 | | ||||
模式对象名称 | | ||||
列 | |
函数名称 | 数据类型 | 说 明 |
Sysevent | VARCHAR2(20) | 激活触发器的事件名称 |
Instance_num | NUMBER | 数据库实例名 |
Database_name | VARCHAR2(50) | 数据库名称 |
Server_error(posi) | NUMBER | 错误信息栈中posi指定位置中的错误号 |
Is_servererror(err_number) | BOOLEAN | 检查err_number指定的错误号是否在错误信息栈中,如果在则返回TRUE,否则返回FALSE。在触发器内调用此函数可以判断是否发生指定的错误。 |
Login_user | VARCHAR2(30) | 登陆或注销的用户名称 |
Dictionary_obj_type | VARCHAR2(20) | DDL语句所操作的数据库对象类型 |
Dictionary_obj_name | VARCHAR2(30) | DDL语句所操作的数据库对象名称 |
Dictionary_obj_owner | VARCHAR2(30) | DDL语句所操作的数据库对象所有者名称 |
Des_encrypted_password | VARCHAR2(2) | 正在创建或修改的经过DES算法加密的用户口令 |
谓词 | 行为 |
INSERTING | 如果触发语句是 INSERT 语句,则为TRUE,否则为FALSE |
UPDATING | 如果触发语句是 UPDATE语句,则为TRUE,否则为FALSE |
DELETING | 如果触发语句是 DELETE 语句,则为TRUE,否则为FALSE |