优学建筑网 加入收藏  -  设为首页
您的位置:优学建筑网 > 知识百科 > 正文

目录

1,数据库触发器有什么作用?

数据库触发器有什么作用?

触发器的作用: 自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。 同步实时地复制表中的数据。 实现复杂的非标准的数据库相关完整性规则。 可在写入数据表前,强制检验或转换数据。 触发器发生错误时,异动的结果会被撤销。 部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器。 可依照特定的情况,替换异动的指令 (INSTEAD OF)。 扩展资料: 分类 SQL Server 包括三种常规类型的触发器:DML 触发器、DDL 触发器和登录触发器。 DML触发器 当数据库中表中的数据发生变化时,包括insert,update,delete任意操作,如果我们对该表写了对应的DML触发器,那么该触发器自动执行。 DML触发器的主要作用在于强制执行业 务规则,以及扩展Sql Server约束,默认值等。因为我们知道约束只能约束同一个表中的数据,而触发器中则可以执行任意Sql命令。 DDL触发器 它是Sql Server2005新增的触发器,主要用于审核与规范对数据库中表,触发器,视图等结构上的操作。比如在修改表,修改列,新增表,新增列等。 它在数据库结构发生变化时执行,我们主要用它来记录数据库的修改过程,以及限制程序员对数据库的修改,比如不允许删除某些指定表等。 登录触发器 登录触发器将为响应 LOGIN 事件而激发存储过程。与 SQL Server 实例建立用户会话时将引发此事件。登录触发器将在登录的身份验证阶段完成之后且用户会话实际建立之前激发。 因此,来自触发器内部且通常将到达用户的所有消息(例如错误消息和来自 PRINT 语句的消息)会传送到 SQL Server 错误日志。如果身份验证失败,将不激发登录触发器。 参考资料来源:百度百科-触发器

2,触发器到底是什么意思?

一个触发器是一种声明,告诉数据库应该在执行特定的操作的时候执行特定的函数。 触发器可以定义在一个INSERT,UPDATE, 或者 DELETE 命令之前或者之后执行,要么是对每个被修改的行一次, 要么是每条 SQL 一次。 如果发生触发器事件,那么将在合适的时刻调用触发器的函数以处理该事件。

触发器函数必须在创建触发器之前,作为一个没有参数并且返回trigger类型的函数定义。 (触发器函数通过特殊的 TriggerData 结构接收其输入,而不是用普通函数参数那种形式。)

一旦创建了一个合适的触发器函数,触发器就用 CREATE TRIGGER 创建。同一个触发器函数可以用于多个触发器。

PostgreSQL 提供按行触发的触发器和按语句触发的触发器。在按行触发的触发器里, 触发器函数是为触发触发器的语句影响的每一行执行一次。相比之下,一个按语句触发的触发器是在每执行一次合适的语句执行一次的, 而不管影响的行数。特别是,一个影响零行的语句将仍然导致任何适用的按语句触发的触发器的执行。 这两种类型的触发器有时候分别叫做行级别的触发器和语句级别的触发器。

触发器还通常分成 before 触发器和 after 触发器。 语句级别的 "before" 触发器通常在语句开始做任何事情之前触发, 而语句级别的 "after" 触发器在语句的最后触发。 行级别的 "before" 触发器在对特定行进行操作的时候马上触发, 而行级别的 "after" 触发器在语句结束的时候触发(但是在任何语句级别的 "after" 触发器之前)。

按语句触发的触发器应该总是返回 NULL。 如果必要,按行触发的触发器函数可以给调用它的执行者返回一表数据行(一个类型为 HeapTuple 的数值), 那些在操作之前触发的触发器有以下选择:



它可以返回 NULL 以忽略对当前行的操作。 这就指示执行器不要执行调用该触发器的行级别操作(对特定行的插入或者更改))。

只用于INSERT和UPDATE触发器: 返回的行将成为被插入的行或者是成为将要更新的行。 这样就允许触发器函数修改被插入或者更新的行。

一个无意导致任何这类行为的在操作之前触发的行级触发器必须仔细返回那个被当作新行传进来的同一行 (也就是说,对于 INSERT 和 UPDATE 触发器而言,是 NEW 行, 对于 DELETE 触发器而言,是 OLD 行)。

对于在操作之后触发的行级别的触发器,其返回值会被忽略,因此他们可以返回NULL。

如果多于一个触发器为同样的事件定义在同样的关系上, 触发器将按照由名字的字母顺序排序的顺序触发。 如果是事件之前触发的触发器,每个触发器返回的可能已经被修改过的行成为下一个触发器的输入。 如果任何事件之前触发的触发器返回 NULL 指针, 那么对该行的操作将被丢弃并且随后的触发器不会被触发。

通常,行的 before 触发器用于检查或修改将要插入或者更新的数据。 比如,一个 before 触发器可以用于把当前时间插入一个 timestamp 字段, 或者跟踪该行的两个元素是一致的。行的 after 触发器多数用于填充或者更新其它表, 或者对其它表进行一致性检查。这么区分工作的原因是, after 触发器肯定可以看到该行的最后数值, 而 before 触发器不能;还可能有其它的 before 触发器在其后触发。 如果你没有具体的原因定义触发器是 before 还是 after,那么 before 触发器的效率高些, 因为操作相关的信息不必保存到语句的结尾。

如果一个触发器函数执行 SQL 命令,然后这些命令可能再次触发触发器。 这就是所谓的级联触发器。对级联触发器的级联深度没有明确的限制。 有可能出现级联触发器导致同一个触发器的递归调用的情况; 比如,一个 INSERT 触发器可能执行一个命令, 把一个额外的行插入同一个表中,导致 INSERT 触发器再次激发。 避免这样的无穷递归的问题是触发器程序员的责任。

在定义一个触发器的时候,我们可以声明一些参数。 在触发器定义里面包含参数的目的是允许类似需求的不同触发器调用同一个函数。 比如,我们可能有一个通用的触发器函数, 接受两个字段名字,把当前用户放在第一个,而当前时间戳在第二个。 只要我们写得恰当,那么这个触发器函数就可以和触发它的特定表无关。 这样同一个函数就可以用于有着合适字段的任何表的 INSERT 事件,实现自动跟踪交易表中的记录创建之类的问题。如果定义成一个 UPDATE 触发器,我们还可以用它跟踪最后更新的事件。

每种支持触发器的编程语言都有自己的方法让触发器函数得到输入数据。 这些输入数据包括触发器事件的类型(比如,INSERT 或者 UPDATE)以及所有在 CREATE TRIGGER 里面列出的参数。 对于低层次的触发器,输入数据也包括 INSERT 和 UPDATE 触发器的 NEW 行,和/或 UPDATE 和 DELETE 触发器的 OLD 行。 语句级别的触发器目前没有任何方法检查改语句修改的独立行。

3,什么是触发器?

触发器可以查询其他表,而且可以包含复杂的SQL语句。它们主要用于强制服从复杂的业务规则或要求。例如:您可以根据客户当前的帐户状态,控制是否允许插入新订单。 触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。 SQL Server 包括三种常规类型的触发器:DML 触发器、DDL 触发器和登录触发器。  扩展资料 触发器可通过数据库中的相关表实现级联更改,不过,通过级联引用完整性约束可以更有效地执行这些更改。触发器可以强制用比CHECK约束定义的约束更为复杂的约束。 与 CHECK 约束不同,触发器可以引用其它表中的列。例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。 触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。 参考资料:百度百科-触发器

4,触发器是什么意思?在电工里起什么作用?

又称“双稳态多谐振荡器”。触发器(Flip Flop)是一种可以存储电路状态的电子元件。最简单的是由两个或非门,两个输入端和两个输出端组成的RS触发器(见图)。复杂一些的有带时钟(CLK)段和D(Data)端,在CLK端为高电平时跟随D端状态,而在CLK端变为低电平的瞬间锁存信号的D触发器。更常用的是两个简单D触发器级联而成的在时钟下跳沿所存信号的边缘D触发器,广泛应用于计数器、运算器、存储器等电子部件。 照 明 配 件:用于高强度气体放电灯(H.I.D)的启动,型号繁多.由于高强度气体放电灯启动时需要一个高电压来使气体电离进入等离子态,因而需要一个高压发生器做为启动器。这就是触发器早期的机械型触发器已经淘汰。现在绝大多数触发器都是使用可控硅或高压触发二极管的电子触发器,常用的型号有:OSRAM 的 CD-7 飞利浦的 SI51 SN58 爱伦的ALK400等
  在外加信号触发下能转换工作状态的电路。通常用触发器的输出端电压表明其工作状态。触发器分为两类。一类称为双稳态触发器,它有两个稳定的工作状态。在外加信号触发下电路可从一种稳定的工作状态转换到另一种稳定的工作状态。另一类称为单稳态触发器,它有一个稳定的工作状态和一个暂时稳定的工作状态。无外加信号触发时触发器处于稳定的工作状态,在受外加信号触发后触发器从稳定的工作状态转换到暂时稳定的工作状态,经过短暂时间后,自动返回到原来的稳定工作状态。 触发器   双稳态触发器  基本电路如图1的上半部。它由两个反相器直接耦合而成。反相器1由晶体管T1和电阻Rc1R11及R12组成,反相器2由晶体管T2和电阻Rc2、R21及R22组成。反相器1的输出端Q即是反相器2的输入端,同样,反相器2的输出端悩也是反相器1的输入端,两级反相器是互相反馈的。这个电路具有两种稳定状态:一种稳态是T1管导通、T2管截止,Q端为低电位、悩为高电位;另一种稳态是T1管截止、T2管导通,Q端为高电位、悩端为低电位。加上电压 Ec和-Eb后电路即进入一种稳定状态。若不加触发信号,电路则永远处于这个稳定状态。
  欲使电路从一种稳态转换到另一种稳态,必须外加触发信号。图1的下半部分是两个引导触发信号给各个反相器的电路。它们分别由微分电路R1C1、R2C2和隔离二极管D1、D2组成。
  当外加负触发脉冲作用于引导电路的“S”端时,通过微分电路R1C1使D1导通,b1点呈低电位。此时不论触发器原处何种状态T1管截止,Q点变为高电位,T2管导通,悩点变为低电位。这种稳态称为触发器的“置位”状态,“S”端称为“置位”端。反之,外加负触发脉冲作用于“R”端时,则使悩端为高电位,Q端为低电位。这种稳态为触发器的“复位”状态,“R”端称为“复位”端。具有置位、复位功能的触发器称为R-S触发器。
  双稳态触发器可用来构成各种计数器、分频器和寄存器等。
  射极耦合触发器  又称施密特触发器,其原理电路如图2。它也由两级反相器直接耦合而成。第一级反相器的输出端c1是第二级反相器的输入端。第一级反相器的输入端接输入触发电压ui,第二级反相器的输出端提供输出电压u0。两级反相器通过公共的发射极电阻Re耦合在一起,因而称射极耦合触发器。这种触发器也有两种稳定状态,一种稳态是T1管导通、T2管截止,输出u0为高电位;另一种稳态是T1管截止,T2管导通,u0为低电位。触发器的稳定状态决定于输入u电位的高低,因此这种触发器具有电位触发特性。当输入ui为低电位时,T1管截止,c1点电位升高,使T2管导通,输出u0也是低电位。当ui为高电位时,T1管导通,c1点电位下降,使T2管截止,u也是高电位。射极耦合触发器可用于波形的整形和鉴幅。 触发器   单稳态触发器  单稳态触发器也由两个反相器构成(图3a)。与图1 的双稳态触发器相比,由晶体管T2组成的反相器2完全相同,但由晶体管T1组成的反相器1中,用电容器C代替电阻器R11,且R12接向 Ec。另外,在T1管的b1点接有由D1、R1及C1组成的引导电路, ui即外加触发信号。触发器的状态电压由c1及c2点输出。 触发器   图3b的波形表明单稳态触发器的工作过程。在外加负触发脉冲u到来以前(0~t1期间),触发器处于稳定状态。由于b1点通过R12接向电压 Ec,T1导通,T2截止。c1点的电压uc1为低电位,c2点电压u为高电位,电容器C被充电。在t=t1瞬间,u到来,通过微分电路R1C1使D1导通,b1呈低电位,T1由导通变为截止,uc1上升为高电位;T2导通,uc2下降为低电位。这时,电容器C通过T2放电形成暂时稳定状态(t1~t2期间),称为暂稳态。随着电容器C的放电,b1点电位上升,当t=t2时,b1点的电位又使T1管导通,uc1下降为低电位,T2管又截止,uc2电位上升。在t2~t3期间,uc2因受Rc2C充电的影响而上升缓慢,形成恢复期。t3以后进入原来的稳定状态。单稳态触发器可用于脉冲整形和脉冲延时。 触发器   各种触发器均可由分立元件构成,也可由集成电路来实现。但随着集成电路技术的发展,集成触发器品种逐渐增加,性能优良,应用日益广泛。基本触发电路有R-S触发器,T触发器,D触发器,J-K触发器等。
  参考书目
 J. Millman and H. Taub, Pulse, Digital and Switching Waveforms, McGraw-Hill,New York,1965.

5,数据库中的“触发器”是什么意思?

在SQL中,名词触发器指“在数据库中为响应一个特殊表格中的某些事件而自动执行的程序代码。”(Wikipedia)说得简单一些,它是在一个特殊的数据库事件,如INSERT或DELETE发生时,自动激活的一段代码。触发器可方便地用于日志记录、对单个表格到其他链接式表格进行自动的“层叠式”更改、或保证对表格关系进行自动更新。当一个新整数值增加到数据库域中时,自动更新运行的总数的代码段是一个触发器。自动记录对一个特殊数据库表格所作更改的SQL命令块也是一个触发器实例。 参考: http://www.nmzol.com/ns/2007/200705/2007-05-05/ns_20070505214010_16672.html

6,要做电工实验,关于触发器的问题

楼主。。BJTU的吧。。。 1.主从型:CP=1,CP非=0,触发器接受信号,边沿型 ,CP=0,引导门关闭,触发器输出保持初态,CP=1时,引导门打开,触发器的状态由输入信号决定。。。主从:下降沿触发。边沿:上升沿触发 2.主从JK触发器在CP=1期间,主触发器只变化(翻转)一次,这种现象称为一次变化现象。一次变化现象也是一种有害的现象,如果在CP=1期间,输入端出现干扰信号,就可能造成触发器的误动作。 3.边沿型触发器 祝期末考试顺利。。BJTU。

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

一、触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。 在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即“0”和“1”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。 二、触发器的作用 1、可在写入数据表前,强制检验或转换数据。 2、触发器发生错误时,异动的结果会被撤销。 3、部分数据库管理系统可以针对数据定义语言(DDL)使用触发器,称为DDL触发器。 4、可依照特定的情况,替换异动的指令 (INSTEAD OF)。 扩展资料:触发器的优点 触发器可通过数据库中的相关表实现级联更改,不过,通过级联引用完整性约束可以更有效地执行这些更改。触发器可以强制用比CHECK约束定义的约束更为复杂的约束。与 CHECK 约束不同,触发器可以引用其它表中的列。 例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。一个表中的多个同类触发器(INSERT、UPDATE 或 DELETE)允许采取多个不同的对策以响应同一个修改语句。 参考资料:百度百科-触发器

8,触发器有些什么逻辑功能?在时序电路中起什么作用

触发器的输出与二进制一致,具有“0”和“1”两种状态,并且可以根据设定的条件相互转换,或保持不变,就是具有记忆功能,能够存储前一时钟周期的输出状态,是存储器的基本结构,也是时序逻辑的基本结构。
触发器的输出状态不仅与当前的输入信号有关,而且与前一时钟的输出状态有关,这是时序逻辑的特点,任何复杂的数字电路,包括计算机,都是几种典型的触发器与组合逻辑的组合,因此,触发器是数字电路的基本单元。