trigger

时间:2024-03-26 00:27:38编辑:优化君

trigger是什么意思

trigger [英]'trɪɡə(r) [美]ˈtrɪɡɚ
n.(枪)扳机;起动装置,扳柄;引发其他事件的一件事;[电子学]触发器...
vt.引发,触发;扣…的扳机;发射或使爆炸(武器或爆炸性弹药)
[例句]But isolation , when mishandled , can trigger dangerous communication breakdowns.但首席执行官的孤立无助如果处理不当就会引发危险的沟通灾难


触发器到底是什么意思?

一个触发器是一种声明,告诉数据库应该在执行特定的操作的时候执行特定的函数。 触发器可以定义在一个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 行。 语句级别的触发器目前没有任何方法检查改语句修改的独立行。


trigger('click')是什么意思?

用交互操作中,最简单直接的操作就是点击操作。jQuery提供了两个方法一个是click方法用于监听用户单击操作,另一个方法是dbclick方法用于监听用户双击操作。这两个方法的用法是类似的,下面以click()事件为例使用上非常简单:方法一:$ele.click()绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少点击触发$("ele").click(function(){alert('触发指定事件')})$("#test").click(function(){$("ele").click() //手动指定触发事件 });方法二:$ele.click( handler(eventObject) )绑定$ele元素,每次$ele元素触发点击操作会执行回调 handler函数,这样可以针对事件的反馈做很多操作了,方法中的this是指向了绑定事件的元素点击触发$("#test").click(function() { //this指向 div元素});方法三:$ele.click( [eventData ], handler(eventObject) )使用与方法二一致,不过可以接受一个数据参数,这样的处理是为了解决不同作用域下数据传递的问题点击触发$("#test").click(11111,function(e) { //this指向 div元素//e.date => 11111 传递数据});

trigger什么意思

trigger的意思:n. (枪械等的)扳机;(尤指引发不良反应或发展的)起因,诱因;(炸弹的)引爆器,触发器v. 引发,激发;起动,触发;引爆(炸弹)【名】 (Trigger)特里杰(人名)短语Chrono Trigger 时空之轮 ; 超时空之轮 ; 超时空之钥 ; 时空之旅Schmitt trigger 施密特触发器 ; 施米特触发器 ; 史密特触发器 ; 密特触发trigger point 激痛点 ; [电子] 触发点 ; 扳机点DEAD TRIGGER死亡扳机 ; 死亡板机trigger finger 扳机指 ; 弹机状指 ; 板机指 ; 扣扳机的手指Silent Trigger 重装悍将 ; 沉卸悍将trigger level 触发水平 ; [电子] 触发电平 ; 触发电平旋钮同近义词vt. [物化]引发,引起;[电子]触发attract , produce , cause , operate , occasionn. [军]扳机;[电子]触发器;制滑机flip-flopperNuts can trigger off a violent allergic reaction. 坚果可以引起严重的过敏反应。

trigger是什么意思

trigger的意思:触发。trigger(触发器)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete,update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从DBA_TRIGGERS ,USER_TRIGGERS数据字典中查到。触发,汉语词汇。拼音:chù fā 释义:指因触动而激发起某种反应。语出《隋书·音乐志上》:“萌生触发,岁在春。《咸池》始奏,德尚仁。”指触动引发。《隋书·音乐志上》:“萌生触发,岁在春。《咸池》始奏,德尚仁”。宋罗大经《鹤林玉露》卷十五:“大抵登山临水,足以触发道机,开豁心志,为益不少。”《二十年目睹之怪现状》第九回:“这回我过上海时,偶然看见一件奇事,如今触发着了,我才记起来”。鲁迅《南腔北调集·真假堂吉诃德》:“无论念几千万遍‘不仁不义’或者《金光明咒》,也不会触发日本地震,使它陆沉大海。” 《花城》1981年第1期:“事隔七年,无人问津的疑案被这个惹事生非的任性的姑娘姜子婴触发了”。

请问很多投影仪上有个trigger输出接口,是做什么用的

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

上一篇:theportrait

下一篇:illuminate