Oracle基础知识(八) - 触发器的分类:系统触发器
来源:互联网 发布:下载软件推荐 知乎 编辑:程序博客网 时间:2024/06/05 09:27
系统事件触发器是指基于Oracle系统事件(LOGIN登录 STARTUP启动)所建立的触发器,通过使用系统事件触发器,提供了跟踪系统或数据库变化的机制。
1. Oracle系统事件
以下介绍,摘自一篇文档,已上传至CSDN:http://download.csdn.net/detail/jolingogo/6533513
可以触发系统触发器的Oracle系统事件主要包括五大类,主要有Startup/Shutdown、Servererror、Logon/Logoff、DDL、DML,
下面给出系统事件的种类和事件出现的时机(前或后)
这五类系统事件触发时,各事件包含的属性如:
在上面所列的属性中,除DML语句的列属性外,其余事件属性值可以通过调用ORACLE定义好的事件属性函数来读取,具体如表5-3所示。
2. 示例
用户登录时,创建触发器
create or replace trigger tri_ygy_demo_loginafter logon on databasebegin insert into t_ygy_demo_log(id , operation_name , create_time,remark) values(s_ygy_demo_logid.nextval,'用户登录',sysdate,'ip地址:'||ora_client_ip_address);end;/
3. 常用事件属性函数
ora_client_ip_address:用于返回客户端的IP地址
ora_database_name:用于返回当前数据库名
ora_des_encrypted_password:用于返回DES加密后的用户口令
ora_dict_obj_name:用于返回DDL操作所对应的数据库对象名
ora_dict_obj_name_list(name_list_ OUT ora_name_list_t):用于返回字事件中被修改的对象名列表
ora_dict_obj_owner:用于返回DDL操作所对应的对象的所有者名。
ora_dict_obj_ower_list(ower_list OUT ora_name_list_t):用于返回在事件中被修改对象的所有者列表
ora_dict_obj_type:用于返回DDL操作所对应的数据库对象的类型。
ora_grantee(user_list OUT ora_name_list_t):用于返回授权时事件授权者。
ora_instance_num:用于返回历程号。
ora_is_alter_column(column_name IN VARCHAR2):用于检测特定列是否被修改
ora_is_creating_nested_table:用于检测是否正在建立嵌套表
ora_is_drop_column(column_name IN VARCHAR2):用于检测特定列是否被删除
ora_is_servererror(error_number):用于检测是否返回了特定Oracle错误。
ora_login_user:用于返回登录用户名
ora_sysevent :用于返回触发 触发器的系统时间名。
- Oracle基础知识(八) - 触发器的分类:系统触发器
- Oracle基础知识(五) - 触发器的分类:DML触发器
- Oracle基础知识(六) - 触发器的分类:DDL触发器
- Oracle基础知识(四) - 触发器的基础知识
- oracle使用八(触发器)
- oracle触发器分类
- oracle的系统事件触发器
- Oracle基础知识7----触发器触发器及其应用
- 触发器的分类
- 触发器的分类
- mysql(八、触发器)
- Oracle 系统触发器
- Oracle系统触发器
- Oracle触发器(建立系统事件触发器)1
- Oracle触发器(建立系统事件触发器)2
- Oracle触发器(建立系统事件触发器)
- oracle 系统的ddl触发器研究
- 触发器基础知识
- 解决修改properties 属性文件存在缓存问题,附带操作properties文件工具类
- 用ml2 plugin配置OpenStack Neutron flat 网络
- 指针与内存, 指针数组,常量指针类笔记
- 如何用LinkedHashMap实现LRU缓存算法
- 【进阶】关于宏定义和内联函数
- Oracle基础知识(八) - 触发器的分类:系统触发器
- 优化JVM参数提高eclipse运行速度
- 设计模式(博客园精华集)
- MFC 多语言支持
- binder机制关于匿名service,handle是如何赋值的
- 为什么要使用Java泛型
- BSS段、数据段、代码段、堆与栈的详细说明
- python 笔记
- linux下安装jira