暂无图片
分享
S
seven
2023-06-26
触发器的作用、优缺点有哪些?
暂无图片 10M

触发器的作用、优缺点有哪些?

收藏
分享
2条回答
默认
最新
suger

触发器(TRIGGER)是数据库提供给程序员和DBA用来保证数据完整性的一种方法。它是与表事件相关的特殊的存储过程。是用户定义在表上的一类由事件驱动的特殊过程。触发器的执行不是由程序调用,也不是由手工启动,而是由事件来触发的,其中,事件是指用户对表的增(INSERT)、删(DELETE)、改(UPDATE)等操作。触发器经常被用于加强数据的完整性约束和业务规则。

触发器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的,而是由一个事件来触发运行的。即触发器是当某个事件发生时自动地隐式运行。

触发器的作用:

1)可维护数据库的安全、一致性和完整性。

2) 可在写入数据库表前,强制检验或转换数据。

3)当触发器发生错误时,异常的结果会被撤销。

4)部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器,还可以针对视图定义替代触发器(INSTEAD OF )

触发器的优点:

触发器可通过数据库中的相关表实现级联更改。触发器可以定义比CHECK 更为复杂的约束。与check约束不同的是,触发器可以引用其他表中的列。

触发器的缺点:

触发器的乱用会造成数据库及应用程序的维护困难。在数据库操作中,可以通过关系、触发器、存储过程、应用程序等来实现数据操作。同时,规则、约束、默认值也是保证数据完整性的重要保障。如果对触发器过度依赖,那么势必会影响到数据库的结构。同时增加了维护的复杂性。

对于触发器,需要特别注意以下几点:

1)触发器在数据库里以独立的对象存储。

2)存储过程通过其他程序来启动运行或直接启动运行,而触发器是由一个事件来启动运行。即触发器是当某个事件发生时,自动地隐式运行。

3)触发器被事件触发。运行触发器称为触发或点火(Firing),用户不能直接调用触发器。

4)触发器不能接受参数。 

暂无图片 评论
暂无图片 有用 0
暂无图片
S
seven
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏