触发器的用途

一:触发器是干什么用的,有什么作用。

可以简单的理解为:就相当于弗一个事件的触发装置,

当满足了触发事件的条件后进行相应的处理操作,

例如可以设置当表中增加或删除了记录后,输出来消息进行通知,

这样就可以在这个表上设置一个触发器,触发条件为增加或删除了记录,

触发的事件是 进行通知消息的输出,

呵呵,希望能有帮助,^_^

二:SQL中触发器有什么作用

当你对表进行了添删改查等操作时,如果你需要做骇些特定的业务操作,就可以使用触发器。

顾名思义,触发,当你做了某种预设的操作时才会执行触发器的命令

举个例子。。

假设你有个员工基础信息表,里面有员工的身份证号码,手机等基本信息。。

那么,当你换了身份证或手机,需要修改号码的时候,肯定是去修改员工的基础资料表。

假设你现在有别的地方,比如人事档案啊之类的,同样使用了员工的手机等信息。。难道你还要再去修改一次档案表么。。那么如果还有其他地方使用了呢?

而触发器就可以在这种时候做出判断,如果修改了基础表的信息,那么就同步把其他使用了基础表信息的地方也更改成最新的信息。。

大概就是这么个意思。。当然还有其他的作用

三:数据库 触发器有什么用

触发器

触发器的定义就是说某个条件成立的时候,你触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。

然后,触发器的触发条件其实在你定义的时候就已经设定好的了。这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次。

具体举例:

1. 在一个表中定义的语句级的触发器,当这个表被删除时,程序就会自动执行触发器里面定义的操作过程。这个就是删除表的操作就是触发器执行的条件了盯

2. 在一个表中定义了行级的触发器,那当这个表中一行数据发生变化的时候,比如删除了一行记录,那触发器也会被自动执行了。

触发器简介:

触发器是一种特殊类型的过程。与普通过程不同的是,过程需要用户显式地调用才执行,而触发器则是当某些事件发生时,由Oracle自动执行。

触发器主要由如下几个部分组成:

触发事件:

触发条件:

触发对象:

触发操作:

编写触发器时,需要注意以下几点:

触发器不接受参数。

一个表上最多可以有12个触发器,但同一时间、同一事件、同一类型的触发器只能有一个。还需要注意,各个触发器之间不能有矛盾。

在一个表上的触发器越多,对在该表上的DML操作性能影响就越大。

触发器最大为32KB。如果确实需要,可以先建立过程,然后在触发器中用CALL语句调用。

在DML触发器中只能使用DML语句(select,insert,update,delete)。

在系统触发器中只能包含DDL语句(create,alter,drop)。

触发器中不能包含事务控制语句(commit,rollback,savepoint)。因为触发器是触发语句的一部门,触发语句被提交或回退时,触发器也就被提交或回退了。

在触发器主体中调用的任何过程、函数都不能使用事务控制语句。

在触发器主体中不能声明任何long和blob变量。新值new、旧值old也不能指向表中的任何long和blog列

不同类型的触发器(如DML触发器、INSTEAD OF触发器、系统触发器)的语法格式和作用都有较大区别。

四:oracle中触发器有什么作用

。触发器的定义就是说某个条件成立的时候,你触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。

然后,触发器的触发条件其实在你定义的时候就已经设定好的了。这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次。

具体举例:

1. 在一个表中定义的语句级的触发器,当这个表被删除时,程序就会自动执行触发器里面定义的操作过程。这个就是删除表的操作就是触发器执行的条件了。

2. 在一个表吕定义了行级的触发器,那当这个表中一行数据发生变化的时候,比如删除了一行记录,那触发器也会被自动执行了。

不知这样讲述可否清楚了呢?

五:什么是触发器,使用触发器的好处是什么

触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。

触发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强制服从复杂的业务规则或要求。例如:您可以根据客户当前的帐户状态,控制是否允许插入新订单。

触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。

创建触发器的SQL语法

DELIMITER |

CREATE TRIGGER ``.``

< [ BEFORE | AFTER ] > < [ INSERT | UPDATE | DELETE ] >

ON

FOR EACH ROW

BEGIN

--do something

END |

触发器的优点

触发器可通过数据库中的相关表实现级联更改;不过,通过级联引用完整性约束可以更有效地执行这些更改。触发器可以强制比用 CHECK 约束定义的约束更为复杂的约束。与 CHECK 约束不同,触发器可以引用其它表中的列。例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。

比较触发器与约束

约束和触发器在特殊情况下各有优势。触发器的主要好处在于它们可以包含使用 Transact-SQL 代码的复杂处理逻辑。因此,触发器可以支持约束的所有功能;但它在所给出的功能上并不总是最好的方法。实体完整性总应在最低级别上通过索引进行强制,这些索引或是 PRIMARY KEY 和 UNIQUE 约束的一部分,或是在约束之外独立创建的。假设功能可以满足应用程序的功能需求,域完整性应通过 CHECK 约束进行强制,而引用完整性 (RI) 则应通过 FOREIGN KEY 约束进行强制。在约束所支持的功能无法满足应用程序的功能要求时,触发器就极为有用。

例如:除非 REFERENCES 子句定义了级联引用操作,否则 FOREIGN KEY 约束只能以与另一列中的值完全匹配的值来验证列值。

CHECK 约束只能根据逻辑表达式或同一表中的另一列来验证列值。如果应用程序要求根据另一个表中的列验证列值,则必须使用触发器。

约束只能通过标准的系统错误信息传递错误信息。如果应用程序要求使用(或能从中获益)自定义信息和较为复杂的错误处理,则必须使用触发器。

触发器可通过数据库中的相关表实现级联更改;不过,通过级联引用完整性约束可以更有效地执行这些更改。

触发器可以禁止或回滚违反引用完整性的更改,从而取消所尝试的数据修改。当更改外键且新值与主键不匹配时,此类触发器就可能发生作用。例如,可以在 titleauthor.title_id ......余下全文>>

六:数据库中,触发器的作用?

触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

七:电灯里的触发器有什么作用

普通钨丝灯泡不需要触发器。骸发器一般用于萤光灯一类的节能灯和冷光灯,用来产生瞬间高压,使得灯管或灯条进入工作状态。

八:触发器的作用是什么,触发器的创建

可以简单的理解为:就相当于是一个事件的触发装置,

当满足了触发事件的条件后进行相应的处理操作,

例如可以设置当表中增加或删除了记录后,输出来消息进行通知,

这样就可以在这个表上设置一个触发器,触发条件为增加或删除了记录,

触发的事件是 进行通知消息的输出,

呵呵,希望能有帮助,^_^

九:触发器的作用是什么?

如果你删除一条数据等于牵连着另一条sql语句一同被执行。

举个你能懂的例子:

相当于在生活中你不小心踩了我一脚我随后做出的反应明白了吗?

当你插入一条sql语句的时候需要在其他表中做得处理,比如增加了这个表的数据你想同时增加两个表的数据就需要用到触发器,因为在界面写业务逻辑往往很复杂,还不如直接在sql里写好,所以这时最好用到的就是触发器了,懂了吧!

十:基本RS触发器有什么作用

基本RS触发器、同步RS触发器、边沿RS触发器,这些,

都属于基础。基本上,它们都没有实用的场合。

组成 555 芯片内部还用到过它。

现在,早就没有单独使用它们的地方了。

扫一扫手机访问

发表评论