问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle 中的触发器有几种?

发布网友 发布时间:2022-04-20 14:58

我来回答

1个回答

热心网友 时间:2024-04-10 16:56

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中触发器有三种 1.DML触发器 ORACLE可以在DML语句进行触发,可以在DML操作前或操作后进行触发,并且可以对每个行或语句操作上进行触发。2 .替代触发器 由于在ORACLE里,不能直接对由两个以上的表建立的视图进行操作。所以给出了替代触发器。它就是ORACLE 8专门为进行视图操作的一种处理方法。3. ...

Oracle 中的触发器有几种?

ORACLE数据库有四种触发器,分别是DML、Instead-of、DDL、DB触发器,一般的应用系统中都是用到DML、Instead-of触发器,DDL、DB两种触发器是DBA管理数据库用得比较多 四种触发器分别有不同的作用 一、DML触发器:当发出UPDATE、INSERT、DELETE命令就可以触发已定义好的DML触发器,是最简单和常用的一种触...

oracle触发器写法

oracle触发器写法是什么呢?不知道的小伙伴来看看小编今天的分享吧!oracle触发器写法:

Oracle中触发器有几种,用法与SQL Server一样吗?谢谢

语句级(Statement-level)触发器,在CREATE TRIGGER语句中不包含FOR EACH ROW子句。语句级触发器对于触发事件只能触发一次,而且不能访问受触发器影响的每一行的列值。一般用语句级触发器处理有关引起触发器触发的SQL语句的信息——例如,由谁来执行 2 行级(Row-level)触发器,在CREATE TRIGGER语句中包...

按照触发方式,oracle的触发器分为语句级和行级两种类型,在视图上所创...

Alter trigger …..disenable; 使得触发器不可用; Alter trigger ……enable; 开启触发器;Oracle的内置程序包扩展数据库的功能;为PL/SQL提供对SQL功能的访问;一般具有sys权限的高级管理人员使用;一个典型的程序包就是dbms_output,你老是用它的过程put_line();Dbms_standard 提供语言工具;Dbms_lob操作Oracle LOB;就...

Oracle触发器的触发器类型.

1、语句级触发器语句级触发器在每个数据修改语句执行后只调用一次,而不管这一操作将影响到多少行。例1:创建一个orderdetails_tablelog表及一个AFTER触发器,用于记录是哪些用户删除了orderdetails表中的数据及删除的时间。--先创建表createtableorderdetails_tablelog(whovarchar2(40),oper_datedate);--...

在oracle中,8位二进制数据要使用几个触发器?

触发器可通过数据库中的相关表实现级联更改,不过,通过级联引用完整性约束可以更有效地执行这些更改。触发器可以强制用比CHECK约束定义的约束更为复杂的约束。与 CHECK 约束不同,触发器可以引用其它表中的列。例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据...

oracle建立触发器 success with compilation error

1、oracle数据库中的触发器,insert into users values('05','trigger','普通','trigger','拥有一般权限');。2、oracle数据库中的触发器(触发器dml删除三条记录后)delete from users where u_type='其他';。3、oracle数据库中的触发器(替代触发器修改记录信息)。4、oracle数据库中的触发器(...

Oracle 触发器问题,事件中所涉及到的数据量非常大。大神指点迷津。_百 ...

触发器分为语句级触发器和行级触发器,区别就是,语句级触发器没有指定FOR EACH ROW,只在语句执行完毕后调用一次触发器,而不管这条语句影响到多少行;行级触发器指定了FOR EACH ROW,当一个DML语句操作影响到数据库中的多行数据时,对于其中的每一个数据行,行级触发器均会被触发一次。。。给分...

Oracle数据库触发器的组成是怎样的

触发器的语法:create [or replace] tigger 触发器名 触发时间 触发事件on 表名[for each row]begin pl/sql语句end 其中:触发器名:触发器对象的名称。由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。触发时间:指明触发器何时执行,该值可取:before:表示在数据库动作之前...

一个触发器有几种状态 几种触发器的特点 边沿触发器有哪几种 在触发器中有约束条件的 五种触发器是哪五种 触发器是一种具有 触发器有哪两种 触发器功能描述的5种方法 五种常见的触发器
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
河北省安全生产监督管理局人员编制 河北省安全生产监督管理局其他事项 河北省安全生产监督管理局主要职责 硬盘里莫名其妙地丢了空间是怎么回事啊? ...但磁盘显示占用空间为60G,这22G去哪了?隐藏的备份文件才1G多。_百度... 刚把删除到回收站的文件还原了,但是在原盘里却找不到 为什么?,那可是22... 我的电脑C盘221G 提示已用50G 可是我的C盘里只有22G的东西 其余的空间... 为什么我硬盘里面删除了文件却没减少空间??哪位大老教教俺啊!!_百度... F盘有30G,属性显示占用了22G还有8G空间,可是我把所有文件加起来只有15G... 我的电脑F盘的空间明明只用了22G,但是属性里显示却有30G。高手解释一下... 黑龙江省的教师资格证考试一年几次? Oracle中触发器有几种,用法与SQL Server一样吗?谢谢 黑龙江省小学教师资格证的网上报名时间是几月几号? oracle中触发器都有几种? 黑龙江省教师资格证的报名条件及具体时间 Oracle中触发器是干嘛的? 黑龙江教师资格证考试一年几次? oracle中触发器可以做什么? 历年黑龙江教师资格证笔试报名时间表是什么时候? 华为nova4怎么查看手机使用记录 可转债溢价率什么意思? 转债溢价率正还是负好 可转债打新有什么条件吗? 打新债溢价率是什么意思? 可转债的溢价率、转股价和转股价值是什么意思? 可转债溢价率是多少? 转股溢价率为负数好吗 理财中的“打新债″是真的吗? 打新债aa—风险高吗 打新债条件 黑龙江教师资格证有几次考试啊? oracle数据库,触发器有什么用途,请用实例说明一下。 黑龙江省上半年教师资格证报名和考试时间是在什么时候 oracle里面创建的触发器存在了哪里 黑龙江省教师资格证什么时候能报名啊,到哪去看信... Oracle中触发器的问题 黑龙江上半年教师资格证几月份考试? Oracle如何创建触发器 黑龙江教师资格证什么时候开始报名? 关于oracle触发器的用法 Oracle触发器的概念 教师资格证黑龙江什么时间报名? oracle 触发器问题 oracle触发器该怎么用? 黑龙江省教师资格证什么时候报名? Oracle数据库触发器的组成是怎样的 2018年教师资格证报名时间黑龙江 oracle的触发器怎么写 黑龙江省教师资格证考试时间是什么时候 ORACLE触发器