我是靠谱客的博主 俊逸跳跳糖,最近开发中收集的这篇文章主要介绍oracle数据库触发器怎么停,Oracle数据库的四种触发器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Oracle数据库的四种触发器

引自:

ORACLE数据库有四种触发器,分别是DML、Instead-of、DDL、DB触发器,一般的应用系统中都是用到DML、Instead-of触发器,DDL、DB两种触发器是DBA管理数据库用得比较多

ORACLE数据库有四种触发器,分别是DML、Instead-of、DDL、DB触发器,一般的应用系统中都是用到DML、Instead-of触发器,DDL、DB两种触发器是DBA管理数据库用得比较多

..................

四种触发器分别有不同的作用

一、DML触发器:当发出UPDATE、INSERT、DELETE命令就可以触发已定义好的DML触发器,是最简单和常用的一种触发器

语法:

create or replace trigger trigger_name

after|before insert|update|delete

on table_name

for each row

二、Instead-of触发器:当向一个由多个表联接成的视图作DML操作时,一般情况下是不允许的,这时候就可以用Instead-of触发器来解决这种问题(在触发器写代码分别对各表作相应DML操作),语法是这样的:

create or replace trigger trigger_name

instead of insert|update|delete

on view_name

for each row

三、DDL触发器:当发出CREATE、ALTER、DROP、TRUNCATE命令时会触发已定义好的DDL触发器,这种触发器可以用来监控某个用户或整个数据库的所有对象的结构变化

语法:

create or replace trigger trigger_name

before|after create|alter|drop|truncate

on schema|database

例:

--禁止用CREATE、ALTER、DROP、TRUNCATE命令操作APPS用户的对象

create or replace trigger apps_no_ddl

before create or alter or drop or truncate

on apps

begin

raise_application_error(-20001,'不允许用DDL操作APPS用户的对象');

end;

四、DB事件触发器:当STARTUP、SHUTDOWN、LOGON、LOGOFF数据库时就会触发DB事件触发器,这种触发器可以用来监控数据库什么时候关闭/打,或者用户的LOGON/LOGOFF数据库情况

语法:

create or replace trigger trigger_name

before|after startup|shutdown|logon|logoff

on database

例:

--记录数据库关闭的时间(shutdown类型要用关键字before,startup用after)

create or replace trigger db_shutdown

before shutdown

on database

begin

insert into test_tbl(log_event) values('db shutdown at '||to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));

commit;

end;

--记录用户LOGON时间(logoff类型要用关键字before,logon用after)

create or replace trigger user_logon_db

after logon

on database

begin

insert into test_tbl(username,logon_time) values(user,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));

commit;

end;

注意:要创建DDL和DB事件这两种触发器必须要有DBA的权限才行.

最后

以上就是俊逸跳跳糖为你收集整理的oracle数据库触发器怎么停,Oracle数据库的四种触发器的全部内容,希望文章能够帮你解决oracle数据库触发器怎么停,Oracle数据库的四种触发器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部