这算是比较偏门的知识了,但是有很多实际意义,可以帮助DBA完成一些日常的管理工作,比如可以禁用一些用户的功能(禁止用户修改或者删除某一个表,限制IP登陆等)。概述Oracle数据库中的System Trigger可以建立在Schema(在某些DDL语句执行的时候触发)或者Database(主要在系统层面触发,比如说登陆或者发生某些系统级别的报错)。SCHEMA trigger:创建于某一个schema上面,并且经由某些DDL语句触发执行。具体看下文链接更多的DDL event。Database trigger:数据库触发器基于数据库之上,由某些数据库级别的事件触发。具体看下文链接更多的Database event。触发模式与DML触发器一样,有两种触发模式before:在语句执行前触发after:在语句执行后触发这个就不用细说了。简单示例限制IP登陆组织IP为192.168.100.71的机器发出的连接请求。create or replace trigger limit_ipAFTERLOGON on databasebeginifSYS_CONTEXT("USERENV", "ip_address") = "192.168.100.71" thenraise_application_error(-20999, "Cann""t logon this database.");end if;end;C:Usersfengjun>sqlplusscott/tiger@192.168.100.221:1521/repoSQL*Plus: Release 11.2.0.3.0 Production on 星期二 2月 25 09:49:182014Copyright (c) 1982, 2011, Oracle. All rights reserved.ERROR:ORA-00604: 递归 SQL 级别 1 出现错误ORA-20999: Cann"t logon this database.ORA-06512: 在 line 2注:如果用户拥有DBA权限,则不受此触发器影响。
MySQL创建单个和联合索引Oracle Transportable Tablespaces (TTS)相关资讯 Oracle触发器 DDL触发器
- Oracle数据库中的触发器 (03/11/2015 10:12:29)
- Oracle利用触发器实现自增列 (02/10/2015 11:27:09)
- DML操作 DDL触发器 (06/28/2014 13:49:19)
| - Oracle中的触发器 (02/14/2015 11:22:03)
- Oracle触发器问题解决一例 (11/11/2014 17:36:10)
- Oracle 触发器更新基表不同记录所 (12/31/2013 10:01:29)
|
本文评论 查看全部评论 (0)