SQL中触发器有什么作用

SQL中触发器有什么作用,第1张

触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。例如,可以控制是否允许基于顾客的当前帐户状态插入定单。触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。触发器的优点如下: 触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的 *** 作)之后立即被激活。触发器可以通过数据库中的相关表进行层叠更改。例如,可以在 titles 表的 title_id 列上写入一个删除触发器,以使其它表中的各匹配行采取删除 *** 作。该触发器用 title_id 列作为唯一键,在 titleauthor、sales 及 roysched 表中对各匹配行进行定位。触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复杂。与 CHECK 约束不同的是,触发器可以引用其它表中的列。例如,触发器可以回滚试图对价格低于 10 美元的书(存储在 titles 表中)应用折扣(存储在 discounts 表中)的更新。

楼主,你好!

触发器的种类

有:

SQL

Server

2000

支持两种类型的触发器:AFTER

触发器和INSTEAD

OF

触发器。其中AFTER

触发器即为SQL

Server

2000

版本以前所介绍的触发器。该类型触发器要求只有执行某一 *** 作(INSERT

UPDATE

DELETE)

之后,触发器才被触发,且只能在表上定义。可以为针对表的同一 *** 作定义多个触发器。对于AFTER

触发器,可以定义哪一个触发器被最先触发,哪一个被最后触发,通常使用系统过程sp_settriggerorder

来完成此任务。

INSTEAD

OF

触发器表示并不执行其所定义的 *** 作(INSERT、

UPDATE、

DELETE),而仅是执行触发器本身。既可在表上定义INSTEAD

OF

触发器,也可以在视图上定义INSTEAD

OF

触发器,但对同一 *** 作只能定义一个INSTEAD

OF

触发器

希望能帮助到你!

触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化时自动生效。唤醒调用触发器以响应 INSERT、UPDATE 或 DELETE 语句。触发器可以查询其它表,并可以包含复杂的Transact-SQL语句。将触发器和触发它的语句作为可在触发器内回滚的单个事务对待。如果检测到严重错误(例如,磁盘空间不足),则整个事务即自动回滚。

以上就是关于SQL中触发器有什么作用全部的内容,包括:SQL中触发器有什么作用、SQL触发器的种类、数据库触发器是什么 等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9333729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存