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

触发器  时间:2021-08-09  阅读:()

触发器的作用是什么?

触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT?或?DELETE。

触发器可以查询其它表,而且可以包含复杂的?SQL?语句。

它们主要用于强制复杂的业务规则或要求。

例如,可以控制是否允许基于顾客的当前帐户状态插入定单。

  触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。

然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。

如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。

  触发器的优点如下:   1、触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活;   2、触发器可以通过数据库中的相关表进行层叠更改。

例如,可以在?titles?表的?title_id?列上写入一个删除触发器,以使其它表中的各匹配行采取删除操作。

该触发器用?title_id?列作为唯一键,在?titleauthor、sales?及?roysched?表中对各匹配行进行定位;   3、触发器可以强制限制,这些限制比用?CHECK?约束所定义的更复杂。

与?CHECK?约束不同的是,触发器可以引用其它表中的列。

例如,触发器可以回滚试图对价格低于?10?美元的书(存储在?titles?表中)应用折扣(存储在?discounts?表中)的更新。

  触发器的分类:   1、DML( 数据操纵语言 Data Manipulation Language)触发器:是指触发器在数据库中发生DML事件时将启用。

DML事件即指在表或视图中修改数据的insert、update、delete语句;   2、DDL(数据定义语言 Data Definition Language)触发器:是指当服务器或数据库中发生(DDL事件时将启用。

DDL事件即指在表或索引中的create、alter、drop语句也;   3、登陆触发器:是指当用户登录SQL SERVER实例建立会话时触发。

  触发器的SQL Server实例:要求就是在AddTable这个表上创建一个Update触发器,语句为:

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

触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。

触发器经常用于加强数据的完整性约束和业务规则等。

触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。

触发器可以查询其他表,而且可以包含复杂的 SQL 语句。

它们主要用于强制服从复杂的业务规则或要求。

例如:您可以根据客户当前的帐户状态,控制是否允许插入新订单。

触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。

然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。

如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。

创建触发器的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)允许采取多个不同的对策以响应同一个修改语句。

比较触发器与约束 约束和触发器在特殊情况下各有优势。

触发器的主要好处在于它们可以包含使用 Transact-SQL 代码的复杂处理逻辑。

因此,触发器可以支持约束的所有功能;但它在所给出的功能上并不总是最好的方法。

实体完整性总应在最低级别上通过索引进行强制,这些索引或是 PRIMARY KEY 和 UNIQUE 约束的一部分,或是在约束之外独立创建的。

假设功能可以满足应用程序的功能需求,域完整性应通过 CHECK 约束进行强制,而引用完整性 (RI) 则应通过 FOREIGN KEY 约束进行强制。

在约束所支持的功能无法满足应用程序的功能要求时,触发器就极为有用。

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

CHECK 约束只能根据逻辑表达式或同一表中的另一列来验证列值。

如果应用程序要求根据另一个表中的列验证列值,则必须使用触发器。

约束只能通过标准的系统错误信息传递错误信息。

如果应用程序要求使用(或能从中获益)自定义信息和较为复杂的错误处理,则必须使用触发器。

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

触发器可以禁止或回滚违反引用完整性的更改,从而取消所尝试的数据修改。

当更改外键且新值与主键不匹配时,此类触发器就可能发生作用。

例如,可以在 titleauthor.title_id 上创建一个插入触发器,使它在新值与 titles.title_id 中的某个值不匹配时回滚一个插入。

不过,通常使用 FOREIGN KEY 来达到这个目的。

如果触发器表上存在约束,则在 INSTEAD OF 触发器执行后但在 AFTER 触发器执行前检查这些约束。

如果约束破坏,则回滚 INSTEAD OF 触发器操作并且不执行 AFTER 触发器。

触发器到底可不可以在视图上创建 在 SQL Server?6?4 联机丛书中,是没有说触发器不能在视图上创建的, 并且在语法解释中表明: 在CREATE TRIGGER 的 ON 之后可以是视图。

然而,事实似乎并不是如此,很多专家也说触发器不能在视图上创建。

我也专门作了测试,的确如此,不管是普通视图还是索引视图,都无法在上面创建触发器,真的是这样吗?请点击详细,但是无可厚非的是:当在临时表或系统表上创建触发器时会遭到拒绝。

深刻理解 FOR CREATE TRIGGER 语句的 FOR 关键字之后可以跟 INSERT、UPDATE、DELETE 中的一个或多个,也就是说在其它情况下是不会触发触发器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。

相关内容 一个有趣的应用我们看到许多注册系统在注册后都不能更改用户名,但这多半是由应用程序决定的, 如果直接打开数据库表进行更改,同样可以更改其用户名, 在触发器中利用回滚就可以巧妙地实现无法更改用户名……详细内容 触发器内部语句出错时…… 这种情况下,前面对数据更改操作将会无效。

举个例子,在表中插入数据时触发触发器,而触发器内部此时发生了运行时错误,那么将返回一个错误值,并且拒绝刚才的数据插入。

不能在触发器中使用的语句 触发器中可以使用大多数 T-SQL 语句,但如下一些语句是不能在触发器中使用的。

CREATE 语句,如:CREATE DATABASE、CREATE TABLE、CREATE INDEX 等。

ALTER 语句,如:ALTER DATABASE、ALTER TABLE、ALTER INDEX 等。

DROP 语句,如:DROP DATABASE、DROP TABLE、DROP INDEX 等。

DISK 语句,如:DISK INIT、DISK RESIZE。

LOAD 语句,如:LOAD DATABASE、LOAD LOG。

RESTORE 语句,如:RESTORE DATABASE、RESTORE LOG。

RECONFIGURE TRUNCATE TABLE 语句在sybase的触发器中不可使用! 慎用触发器 触发器功能强大,轻松可靠地实现许多复杂的功能,为什么又要慎用呢。

触发器本身没有过错,但由于我们的滥用会造成数据库及应用程序的维护困难。

在数据库操作中,我们可以通过关系、触发器、存储过程、应用程序等来实现数据操作…… 同时规则、约束、缺省值也是保证数据完整性的重要保障。

如果我们对触发器过分的依赖,势必影响数据库的结构,同时增加了维护的复杂程序. 编辑本段|回到顶部 数字电路领域名词 学名“双稳态多谐振荡器(Bistable Multivibrator)”。

触发器(Flip Flop)是一种可以存储电路状态的电子元件。

最简单的是由两个或非门,两个输入端和两个输出端组成的RS触发器(见图)。

复杂一些的有带时钟(CLK)段和D(Data)端,在CLK端为高电平时跟随D端状态,而在CLK端变为低电平的瞬间锁存信号的D触发器。

更常用的是两个简单D触发器级联而成的在时钟下跳沿所存信号的边缘D触发器,广泛应用于计数器、运算器、存储器等电子部件。

触发器的类型: 按逻辑功能不同分为:RS触发器、D触发器、JK触发器、T触发器。

按触发方式不同分为:电平触发器、边沿触发器和主从触发器。

按电路结构不同分为:基本RS触发器和钟控触发器。

按存储数据原理不同分为:静态触发器和动态触发器。

按构成触发器的基本器件不同分为:双极型触发器和MOS型触发器。

照明配件 用于高强度气体放电灯(H.I.D)的启动,型号繁多.由于高强度气体放电灯启动时需要一个高电压来使气体电离进入等离子态,因而需要一个高压发生器做为启动器。

这就是触发器早期的机械型触发器已经淘汰。

现在绝大多数触发器都是使用可控硅或高压触发二极管的电子触发器,常用的型号有:OSRAM 的 CD-7 飞利浦的 SI51 SN58 爱伦的ALK400等

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

一、触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。

在数字系统和计算机中有着广泛的应用。

触发器具有两个稳定状态,即“0”和“1”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。

二、触发器的作用 1、可在写入数据表前,强制检验或转换数据。

2、触发器发生错误时,异动的结果会被撤销。

3、部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器。

4、可依照特定的情况,替换异动的指令 (INSTEAD OF)。

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

触发器可以强制用比CHECK约束定义的约束更为复杂的约束。

与 CHECK 约束不同,触发器可以引用其它表中的列。

例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。

触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。

一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。

参考资料:搜狗百科-触发器

傲游主机38.4元起,韩国CN2/荷兰VPS全场8折vps香港高防

傲游主机怎么样?傲游主机是一家成立于2010年的老牌国外VPS服务商,在澳大利亚及美国均注册公司,是由在澳洲留学的害羞哥、主机论坛知名版主组长等大佬创建,拥有多家海外直连线路机房资源,提供基于VPS主机和独立服务器租用等,其中VPS基于KVM或者XEN架构,可选机房包括中国香港、美国洛杉矶、韩国、日本、德国、荷兰等,均为CN2或者国内直连优秀线路。傲游主机提供8折优惠码:haixiuge,适用于全...

Friendhosting,美国迈阿密机房新上线,全场45折特价优惠,100Mbps带宽不限流量,美国/荷兰/波兰/乌兰克/瑞士等可选,7.18欧元/半年

近日Friendhosting发布了最新的消息,新上线了美国迈阿密的云产品,之前的夏季优惠活动还在进行中,全场一次性45折优惠,最高可购买半年,超过半年优惠力度就不高了,Friendhosting商家的优势就是100Mbps带宽不限流量,有需要的朋友可以尝试一下。Friendhosting怎么样?Friendhosting服务器好不好?Friendhosting服务器值不值得购买?Friendho...

€4.99/月Contabo云服务器,美国高性价比VPS/4核8G内存200G SSD存储

Contabo是一家运营了20多年的欧洲老牌主机商,之前主要是运营德国数据中心,Contabo在今年4月份增设新加坡数据中心,近期同时新增了美国纽约和西雅图数据中心。全球布局基本完成,目前可选的数据中心包括:德国本土、美国东部(纽约)、美国西部(西雅图)、美国中部(圣路易斯)和亚洲的新加坡数据中心。Contabo的之前国外主机测评网站有多次介绍,他们家的特点就是性价比高,而且这个高不是一般的高,是...

触发器为你推荐
php开发工具PHP开发工具IDE哪个好用,请推荐几个?谢谢中国银行卡号中行卡号有多少位?有12位的么?qq实名注册QQ帐号怎么实名认证?ucosiiucosii任务堆栈的作用是什么呢?安卓模拟器哪个好用安卓模拟器中文版哪个好?赵锡成福茂航运公司的英文是什么?数据管理制度数据必须符合以下基本原则有哪些邮件服务器软件给我推荐个邮件服务器软件?内详dreamweaver序列号DW序列号是多少啊spinmaster谁发明的汪汪队立大功这个动画片
vps试用 cn域名 欧洲免费vps 中国域名交易中心 免费顶级域名 sugarhosts 赵容 息壤主机 blackfriday 视频存储服务器 shopex空间 NetSpeeder 警告本网站 网游服务器 国外ip加速器 登陆空间 日本代理ip ledlamp 万网主机 godaddy空间 更多