什么是触发器,它的作用是什么

什么是触发器,它的作用是什么,第1张

触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改 *** 作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE。触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。例如,可以控制是否允许基于顾客的当前帐户状态插入定单。

触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。有关详细信息,请参见表关系。

使用触发器的优点

触发器的优点如下:

触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的 *** 作)之后立即被激活。

触发器可以通过数据库中的相关表进行层叠更改。例如,可以在 titles 表的 title_id 列上写入一个删除触发器,以使其它表中的各匹配行采取删除 *** 作。该触发器用 title_id 列作为唯一键,在 titleauthor、sales 及 roysched 表中对各匹配行进行定位。

触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复杂。与 CHECK 约束不同的是,触发器可以引用其它表中的列。例如,触发器可以回滚试图对价格低于 10 美元的书(存储在 titles 表中)应用折扣(存储在 discounts 表中)的更新。

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

到底是使用触发器来简化程序,

还是程序中使用语句实现的方便啊

自我感觉好象还是比较喜欢在程序中使用语句还实现,

自己的流程性好些,知道自己该写什么对具体项目需要改动那里

方便些吧

触发器写的时候,测试真的很麻烦的!!

大家说说吧!!!

谢谢啊

解析:

触发器使用最多的地方就是维护数据的完整性,的确,它能实现的东西,在代码里大部份都能实现,但是如果涉及到多用户同时 *** 作的话,在程序里写代码当然比不上在触发器里写代码来的方便。

就拿安全库存来说吧,比如现在有2个用户同时需要出同一种产品,当前库存为100,A用户需要80,B用户需要50;在这之前他们所知道的都是一个数据,即库存为100,他们都认为可以出库,但你会发现一个问题,如果他们都出库的话,库存数明显不够,那么此时如果在程序里写代码的话,就需要进行出库前的判断并做事务处理,但是如果在触发器里写的话,那么A、B用户都可以出库(UPDATE库存),只是有一个用户会被提示库存不足,因为在触发器里已经写了如果当前要出库的数量大于库存则返回一个错误信息。

另外,如果有多个系统(如:WEB系统、桌面系统)同时用到这个数据库的话,只需要在触发器里写相应的维护代码,而不需要同时在各个系统中写同样的代码。

以上所说只是触发器的一方面应用,它也可以做一些其他“善后”工作,有待你去发掘了。

至于测试的话,可以用查询分析器来直接写语句测试。

4个。

二进制每一位有0、1两种状态,触发器有两个稳态,可以分别表示0、1,一个触发器作为一个二进制存储单元,可以表示一个二进制位,所以,4位二进制,需要4个触发器。

触发器(trigger)是SQLserver提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行 *** 作(insert,delete,update)时就会激活它执行。

触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增删改等 *** 作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。触发器类似于约束,但是比约束更加灵活,可以实施比FOREIGN KEY约束,CHECK约束更为复杂的检查和 *** 作,具有更精细和更强大的数据控制能力。

触发器是在触发条件为真时,执行 *** 作,否则触发动作不执行。

触发器的概念:\x0d\触发器英文名trigger,是指数据库中为响应一个特殊表格中的某些事件而自动执行的程序代码。\x0d\\x0d\为什么要使用触发器:\x0d\触发器通常在进行登录或者对表作修改时触发,可以作为登录验证或者数据监控。换句话说,触发器是用来管理数据库的,很少用来 *** 作数据。比如,我要知道谁在什么时候修改了Test表,修改了什么,就要使用触发器了。

以上就是关于什么是触发器,它的作用是什么全部的内容,包括:什么是触发器,它的作用是什么、触发器的使用是否方便的思考、触发器有2个稳态,存储4位二进制信息要多少个触发器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9525978.html

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

发表评论

登录后才能评论

评论列表(0条)

保存