博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle--系统事件触发器、用户事件触发器
阅读量:2442 次
发布时间:2019-05-10

本文共 1147 字,大约阅读时间需要 3 分钟。

系统事件触发器

系统事件触发器是指由数据库系统事件触发的数据库触发器。数据库系统事件通常包括以下几种:

  • 数据库的启动(STARTUP)
  • 数据库的关闭(SHUTDOWN)
  • 数据库服务器出错(SERVERERROR)

创建一个系统事件触发器,数据库启动后记录启动时间

创建系统时间触发器测试表:

create table DB_Log(op_date timestamp);

创建系统事件触发器:

create or replace trigger tr_db_sstartupafter startupon databasebegin insert into DB_Log values(sysdate);end tr_db_startup;

在创建系统事件触发器时,对于STARTUP和SERVERERROR事件,只可以创建AFTER STARTUP触发器,而对于SHUTDOWN事件,只可以创建BEFORE SHUTDOWN触发器。

SERVERERROR事件的触发器能够与数据库相关联,也能够与特定的模式相关联。与特定模式相关联时,表示只有该模式上的操作所导致的错误才会触发。

用户事件触发器

用户事件触发器指与数据库定义语句DDL或用户的登录/注销等事件相关的触发器。这些事件包括以下语句,并且可以规定触发时间BEFORE或AFTER。

  • CREATE
  • ALTER
  • DROP
  • ANALYZE
  • ASSOCIATE STATISTICS
  • DISASSOCIATE STATISTICS
  • AUDIT
  • NOTAUDIT
  • COMMENT
  • GRANT
  • REVOKE
  • RENAME
  • TRUNCATE

LOGOFF事件只可以指定触发时间为BEFORE。

SUSPEND和LOGON事件只可以触发时间为AFTER。

创建一个用户事件的触发器,用来记录用户SCOTT所删除的所有对象。

以用户SCOTT身份连接到数据库,并创建一个用户存储信息的表:

CREATE TABLE SCOTT.DROP_OBJ(object_name varchar2(20),object_type varchar2(20),dropped_date date);

创建BEFORE DROP触发器,以便在用户删除对象之前记录到日志信息表DROPPED_OBJECTS中:

CREATE OR REPLACE TRIGGER SCOTT.TR_DROPPED_OBJBEFORE DROPON SCOTT.SCHEMABEGIN  INSERT INTO SCOTT.DROP_OBJ  VALUES(ora_dict_obj_name,ora_dict_obj_type,SYSDATE);END TR_DROPPED_OBJ;

转载地址:http://lkpqb.baihongyu.com/

你可能感兴趣的文章
如何在Ubuntu 18.04上使用Docker和Caddy远程访问GUI应用程序
查看>>
Apache配置错误AH00558:无法可靠地确定服务器的标准域名
查看>>
apache 证书配置_Apache配置错误AH02572:无法配置至少一个证书和密钥
查看>>
web设置字体粗细css_Web上使用CSS的可变字体
查看>>
css 垂直对齐_CSS垂直对齐属性
查看>>
为您的网站提供动力的100种Jamstack工具,API和服务
查看>>
api restful_构建RESTful API的13种最佳实践
查看>>
wordpress用途_8个热门WordPress多用途主题及其炫酷功能
查看>>
用于Angular,React和Vue.js的Bootstrap UI库
查看>>
使用MongoDB Stitch在10分钟内构建一个Slack应用
查看>>
struts2 css失效_CSS体系结构和可维护CSS的三大Struts
查看>>
php使用nginx建网站_如何使用预建网站来刷新网站的外观
查看>>
使用React和PHP开发游戏:它们的兼容性如何?
查看>>
哈巴狗入门指南
查看>>
js设置css自定义变量_CSS变量实用指南(自定义属性)
查看>>
http建立个人服务器工具_建立网站和页面的最佳7种工具
查看>>
前端框架浏览器兼容解决方案_前端框架:定制与即用型解决方案
查看>>
驯服Snoo:使用Reddit API
查看>>
php页面不渲染显示源代码_PHP如何执行-从源代码到渲染
查看>>
Sourcehunt 17.1:值得关注的7个有趣PHP软件包
查看>>