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

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

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

LOCVPS洛杉矶CN2线路KVM上线,洛杉矶/香港云地/香港邦联7折

LOCVPS发来了新的洛杉矶CN2线路主机上线通知,基于KVM架构,目前可与香港云地、香港邦联机房XEN架构主机一起适用7折优惠码,优惠后最低美国洛杉矶CN2线路KVM架构2GB内存套餐月付38.5元起。LOCPVS是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。...

LOCVPS全场8折,香港云地/邦联VPS带宽升级不加价

LOCVPS发布了7月份促销信息,全场VPS主机8折优惠码,续费同价,同时香港云地/邦联机房带宽免费升级不加价,原来3M升级至6M,2GB内存套餐优惠后每月44元起。这是成立较久的一家国人VPS服务商,提供美国洛杉矶(MC/C3)、和中国香港(邦联、沙田电信、大埔)、日本(东京、大阪)、新加坡、德国和荷兰等机房VPS主机,基于XEN或者KVM虚拟架构,均选择国内访问线路不错的机房,适合建站和远程办...

95IDC香港特价物理机服务器月付299元起,5个ip/BGP+CN2线路;美国CERA服务器仅499元/月起

95idc是一家香港公司,主要产品香港GIA线路沙田CN2线路独服,美国CERA高防服务器,日本CN2直连服务器,即日起,购买香港/日本云主机,在今年3月份,95IDC推出来一款香港物理机/香港多ip站群服务器,BGP+CN2线路终身7折,月付350元起。不过今天,推荐一个价格更美的香港物理机,5个ip,BGP+CN2线路,月付299元起,有需要的,可以关注一下。95idc优惠码:优惠码:596J...

触发器为你推荐
免费erp最方便使用的免费erp软件有哪些安卓模拟器哪个好用手机模拟器哪个好用?求推荐。横幅广告通栏广告 横幅广告是什么意思wizardry霍格沃茨学校在哪里?数据管理制度数据必须符合以下基本原则有哪些印度it印度IT业与中国IT业的差异?深度剖析!网站维护收费网站建设及维护需要多少钱?3d规则福彩3D的规则是怎么样的rar分卷压缩什么叫压缩分卷啊?goldwave教程GoldWave怎么使用?
长沙域名注册公司 budgetvm 东莞电信局 美国主机评测 韩国俄罗斯 12306抢票攻略 正版win8.1升级win10 电信托管 香港亚马逊 空间登入 lick 免费赚q币 accountsuspended 美国代理服务器 web服务器 西部数码主机 g6950 冰盾ddos防火墙 免费网络电视软件 八度空间论坛 更多