触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。
创建触发器的SQL语法
DELIMITER |
CREATE TRIGGER `<databaseName>`.`<triggerName>`
< [ BEFORE | AFTER ] > < [ INSERT | UPDATE | DELETE ] >
ON <tableName>
FOR EACH ROW
BEGIN
--do something
END
触发器的优点
触发器可通过数据库中的相关表实现级联更改;不过,通过级联引用完整性约束可以更有效地执行这些更改。触发器可以强制比用 CHECK 约束定义的约束更为复杂的约束。与 CHECK 约束不同,触发器可以引用其它表中的列。例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。
慎用触发器
触发器功能强大,轻松可靠地实现许多复杂的功能,为什么又要慎用呢。触发器本身没有过错,但由于我们的滥用会造成数据库及应用程序的维护困难。在数据库操作中,我们可以通过关系、触发器、存储过程、应用程序等来实现数据操作…… 同时规则、约束、缺省值也是保证数据完整性的重要保障。如果我们对触发器过分的依赖,势必影响数据库的结构,同时增加了维护的复杂程序.
触发器实例
trigger
create or replace trigger "TEAM_MEMBER"
before insert or update on TEAM_MEMBER
for each row
declare
BEGIN
if inserting then
doSomeThing();
end if;
if updating then
doSomeThing();
end if;
end;
分享到:
相关推荐
--行级触发器 create or replace trigger insert_person after insert on person for each row begin insert into person2 values(:new.id,:new.name,:new.password); end; create or replace trigger update_...
触发器 trigger简介,原理和一些使用示例
sqlserver的触发器。简单介绍了对表的增删改查触发效果有具体实例。便于理解
主要为大家详细介绍了Oracle触发器trigger,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
如果数据流非常小,几毫秒才出现一个,数量非常小,而且很有规律, 那么使用FIFO就很浪费了,就可以使用时能指示信号。
触发器,trigger
SQL语句,存储过程,触发器
oracle触发器(trigger).pdf
sql server 2005学习笔记之触发器 很全 说的很详细
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,,sql触发器的写法,简化代码量
触发器9.18触发器9.18触发器9.18触发器触发器9.18触发器9.18触发器9.18触发器
压缩包主要包括15个文档,主要是本人学习oracle过程中的笔记,希望对你有帮助:主要文档如下: 01-常用命令.txt 02-表空间建表.txt 03-基本查询语句学习笔记.txt ...12-触发器学习笔记.txt 13-pl编码.txt
oracle触发器(trigger)[定义].pdf
NULL 博文链接:https://hyj0903.iteye.com/blog/978153
施密特触发器PPT学习教案.pptx
他的作用很明显了,可以保证数据的完整性,下面有一个实例来说明他的好处,以及如果使编写代码不那么复杂二,触发器语法代码如下:CREATE TRIGGER trig