源码-Oracle数据库管理-第十五章-触发器和游标-Part 4(理解触发器)
来源:互联网 发布:mp3添加歌词软件 编辑:程序博客网 时间:2024/06/03 23:06
触发器在目前为止的工作中接触不多,却是我感觉很有趣的部分,有机会再好好用用。
--代码15.15 使用DDL触发器监控方案对象的创建--在scott用户模式下创建一个保存DDL创建信息的表,CREATE TABLE created_log( obj_owner VARCHAR2(30), --所有者 obj_name VARCHAR2(30), --对象名称 obj_type VARCHAR2(20), --对象类型 obj_user VARCHAR2(30), --创建用户 created_date DATE --创建日期)--以DBA登录,创建DDL触发器监控表的变化CREATE OR REPLACE TRIGGER t_created_log AFTER CREATE ON scott.SCHEMA --在soctt方案下创建对象后触发BEGIN INSERT INTO scott.created_log(obj_owner, obj_name, --插入日志记录 obj_type, obj_user, created_date ) VALUES (SYS.dictionary_obj_owner, SYS.dictionary_obj_name, SYS.dictionary_obj_type, SYS.login_user, SYSDATE );END;--创建表来查看触发器的运行效果--代码15.16 创建方案及数据库级别的登录触发器--以DBA身份登录,创建DATABASE级别的LOGON事件触发器CREATE OR REPLACE TRIGGER t_db_logonAFTER LOGON ON DATABASEBEGIN INSERT INTO log_db_table(username,logon_time,address) VALUES(ora_login_user,SYSDATE,ora_client_ip_address);END;--以scott身份登录,创建如下的SCHEMA级别的LOGON事件触发器CREATE OR REPLACE TRIGGER t_user_logonAFTER LOGON ON SCHEMABEGIN INSERT INTO log_user_table(username,logon_time,address) VALUES(ora_login_user,SYSDATE,ora_client_ip_address);END;--代码15.17 使用after servererror触发器记录错误日志--使用SYS用户登录创建一个错误日志记录表CREATE TABLE servererror_log( error_time DATE, username VARCHAR2(30), instance NUMBER, db_name VARCHAR2(50), error_stack VARCHAR2(2000));--在SYS方案下,创建错误触发器,在出现数据库错误时触发。CREATE OR REPLACE TRIGGER t_logerrors AFTER SERVERERROR ON DATABASEBEGIN INSERT INTO servererror_log VALUES (SYSDATE, login_user, instance_num, database_name, DBMS_UTILITY.format_error_stack);END;
0 0
- 源码-Oracle数据库管理-第十五章-触发器和游标-Part 4(理解触发器)
- 源码-Oracle数据库管理-第十五章-触发器和游标-Part 1(理解触发器)
- 源码-Oracle数据库管理-第十五章-触发器和游标-Part 2(理解触发器)
- 源码-Oracle数据库管理-第十五章-触发器和游标-Part 3(理解触发器)
- 源码-Oracle数据库管理-第十五章-触发器和游标-Part 2(理解游标)
- 【Oracle】第五章游标和触发器
- Oracle,day9,游标和触发器
- 源码-PL/SQL从入门到精通-第十五章-触发器-Part 1
- 源码-PL/SQL从入门到精通-第十五章-触发器-Part 2
- 数据库触发器(oracle)
- Oracle学习交流(5)---触发器和游标
- SQL数据库触发器和游标的使用
- 源码-Oracle数据库管理-第九章-SQL查询-Part 4(集合运算和子查询)
- 源码-Oracle数据库管理-第十三章-子程序和包-Part 4(定义PL/SQL包)
- Oracle触发器4-数据库事件触发器
- 源码-Oracle数据库管理-第十六章-异常处理机制-Part 1(理解异常处理)
- 源码-Oracle数据库管理-第十七章-动态SQL语句-Part 1(理解动态SQL语句)
- 触发器和游标
- MyBatis学习之代码生成器Generator
- 2017开始学PHP听说PHP是最好的语言
- 77. Combinations
- Android中Intent和IntentFilter进行通信
- JSP脚本中的9个内置对象---08 response对象
- 源码-Oracle数据库管理-第十五章-触发器和游标-Part 4(理解触发器)
- JavaScript事件
- 2016年简直一晃而过
- VS2012+EMGUCV配置与测试
- javaweb/jSP/J2EE图书商城 图书管理源码
- 时间日期滚轮(安卓)
- 2016年末的随笔
- JavaScript之DOM
- GitLab 网页不能登陆时的配置(登陆对话框消失了)