6ES7331-7KF02-9AJ0模拟量输入模块
6ES7331-7KF02-9AJ0模拟量输入模块
触发器是逻辑电路的基本单元电路,具有记忆功能,可用于二进制数据储存,记忆信息等。
[1] SQL Server 包括三种常规类型的触发器:DML 触发器、DDL 触发器和登录触发器。
(在逻辑电路中根据逻辑功能不同,可分为RS触发器,D触发器,同步触发器等)
DML触发器
当数据库中表中的数据发生变化时,包括insert,update,delete任意操作,如果我们对该表写了对应的DML触发器,那么该触发器自动执行。DML触发器的主要作用在于强制执行业 务规则,以及扩展Sql Server约束,默认值等。因为我们知道约束只能约束同一个表中的数据,而触发器中则可以执行任意Sql命令。
DDL触发器
它是Sql Server2005新增的触发器,主要用于审核与规范对数据库中表,触发器,视图等结构上的操作。比如在修改表,修改列,新增表,新增列等。它在数据库结构发生变化时执行,我们主要用它来记录数据库的修改过程,以及限制程序员对数据库的修改,比如不允许删除某些表等。
登录触发器
登录触发器将为响应 LOGIN 事件而激发存储过程。与 SQL Server 实例建立用户会话时将引发此事件。登录触发器将在登录的身份验证阶段完成之后且用户会话实际建立之前激发。因此,来自触发器内部且通常将到达用户的所有消息(例如错误消息和来自 PRINT 语句的消息)会传送到 SQL Server 错误日志。如果身份验证失败,将不激发登录触发器。编辑
触发器可通过数据库中的相关表实现级联更改,不过,通过级联引用完整性约束可以更有效地执行这些更改。触发器可以强制用比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™ 联机丛书中,是没有说触发器不能在视图上创建的, 并且在语法解释中表明:在 CREATE TRIGGER 的 ON 之后可以是视图。 然而,事实似乎并不是如此,很多也说触发器不能在视图上创建。我也专门作了测试,的确如此,不管是普通视图还是索引视图,都无法在上面创建触发器,真的是这样吗?
但是无可厚非的是:当在临时表或系统表上创建触发器时会遭到拒绝。
深刻理解 FOR CREATE TRIGGER 语句的 FOR 关键字之后可以跟 INSERT、UPDATE、DELETE 中的一个或多个,也就是说在其它情况下是不会触发触发器的, 包括 SELECT、TRUNCATE、WRITETEXT、UPDATETEXT。
相关内容 一个有趣的应用我们看到许多注册系统在注册后都不能更改用户名,但这多半是由应用程序决定的, 如果直接打开数据库表进行更改,同样可以更改其用户名, 在触发器中利用回滚就可以巧妙地实现无法更改用户名……详细内容 触发器内部语句出错时…… 这种情况下,前面对数据更改操作将会无效。举个例子,在表中插入数据时触发触发器,而触发器内部此时发生了运行时错误,那么将返回一个错误值,并且拒绝刚才的数据插入。不能在触发器中使用的语句 触发器中可以使用大多数 T-SQL 语句,但如下一些语句是不能在触发器中使用的。
CREATE 语句,如:CREATE DATABASE、CREATE T触发器功能强大,轻松可靠地实现许多复杂的功能,为什么又要慎用呢。触发器本身没有过错,但由于我们的滥用会造成数据库及应用程序的维护困难。在数据库操作中,我们可以通过关系、触发器、存储过程、应用程序等来实现数据操作…… 同时规则、约束、缺省值也是保证数据完整性的重要保障。如果我们对触发器过分的依赖,势必影响数据库的结构,同时增加了维护的复杂程度。
AB2711-K9C1电子产品
AB1769-IM12模块
力士乐PPC-R22.1(带卡)配件
AB6RA7013-6DV62-0电子产品
SCHNEIDER171CCC96030配件
西门子6RY1243-0BA0配件
西门子6ES7972-0BB12-0XA0配件
施耐德170DNT11000电子产品
SIEMENS3TF5222-0XM0 AC110V配件
发那科A06B-6093-H152电子产品
PHIHONGPSA-1509U配件
西门子6GK1503-2CB00电子产品
XYCOM3515KPM配件
SIEMENS6ES7151-1BA02-0AB0配件
SIEMENS6EP1333-2AA01配件
SIEMENS6ES7131-4BF00-OAA0配件
SIEMENS6ES7132-4BF00-OAA0配件
SIEMENS6ES7134-4GB11-0AB0配件
SIEMENS6ES7134-4GD00-0AB0配件
SIEMENS6ES7135-4GB01-0AB0配件
SIEMENS6ES7138-4CA01-0AA0配件
SIEMENS6ES7134-4FB01-0AB0配件
AB1746-P2模块
台达DPS-220DB-1 A电子产品
" Siemens"6AV7893-0AB00-1AB0配件
" Siemens"6SL3362-0AF00-0AA1配件
西门子1P6RA7078-6DV62-0-Z G95+K00+K01+K11电子产品
AB1756-EN2T模块
西门子153-2BA01-0XB0模块
西门子6SL3362-0AF01-0AA1风扇
SIEMENS6SE6440-2AB17-5AA1配件
FOXBOROE69F-BI2配件
FOXBOROE69F-BI3配件
ABBFPBA-01模块
ABBDSAB-01C配件
ABBDSMB-01C配件
西门子6SE7035-4HF85-0EA0配件
迈创MATROX MOR/2VD采集卡
ABBSDCS-CON-4配件
AB1326AB-B515G-21配件
施耐德170ANR12091全新配件
PHIHONGPSA-110-401-1电源
施耐德172PNN21022翻新配件
PHIHONGPSA-1509U配件
IAIPCON-CA-42PWAI-NP-2-0配件
西门子PROV3UF7010-1AU00-0电机保护器
ABBACS550-01-031A(含面板)配件
WATLOWTLM-8配件
艾默生CMF050H523N3ENEZZZ流量计
AB1794-TB3G配件
GEIC200MDL650电子产品
KOLLNORGEN 伺服驱动器CP320260配件
INTEL CPU 风扇E30307-001 12V 0.14A配件
西门子A5E00684817配件
安川SGDS-30A01A驱动器
松下MSM8A1A1A电机
SIEMENS6SE7031-2EP85-0AA0配件
SIEMENS6SE7021-3TP50配件
SIEMENS6SE7021-0TP50配件
SIEMENS6SE7014-0TP50配件
SIEMENS6SE7012-0TP50配件
松下MFA050HA5NSC配件
SIEMENS6ES7 313-6CG04-0AB0电子产品
SIEMENS6EP1437-3BA10配件
SIEMENS6GK1500-3AA00配件
SIEMENS6ES7151-1AB05-0AB0配件
SIEMENS6ES7138-4DA04-0AB0配件
力士乐PPC-R22.1(带卡)配件
AB140A-C2A-B40开关
AB140A-C2A-B25开关
GEUR9EH模块
GEUR8LH模块
GEUR8NH模块
AB 0.75KW/1.0HP CAT NO.22F-D2P5N103电机变频器
西门子6SL3224-0BE33-7UA0变频器
西门子6SL3224-0BE35-5UA0变频器
太平洋SCE904AN-002-01配件
SKKTSKKD 162/16电子产品
SKKTSKKT 162/16 E电子产品
三菱MR-J3BAT/3.6V配件
SICKUM18-51111配件
ENERPACB-3006配件
SIEMENS6ES7322-1HH01-0AA0电子产品
SIEMENS6ES7307-1EA00-0AA0电子产品
ANSALDOSPAM035U1D电子产品
西门子C98043-A7002-L4电子产品
三菱CM600DU-24NFH电子产品
三菱CM400DU-24NFH电子产品
三菱CM200DU-24NFH电子产品
SIEMENS6SE7024-1EP85-0AA0驱动
SIEMENS1FK7101-5AF71-1EG3电机
SIEMENS1FK7083-5AF71-1EG3电机
SCHNEIDERXMLP250BC22配件
ABMVI56-PDPMV1模块
HONEYWELL32004871-001配件
SIEMENS6AV6643-0CB01-1AX1配件
西门子6DD1661-0AE1电子产品
西门子6SE7090-0XX84-0AB0电子产品
西门子6SL3120-1TE28-5AA3电子产品