问题标签 [triggers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
12348 浏览

database-design - 触发器与约束的性能注意事项

我试图找出是否应该在数据库内部的触发器或约束中使用业务关键逻辑。
到目前为止,我已经在触发器中添加了逻辑,因为它让我可以控制接下来发生的事情,这意味着我可以提供自定义用户消息,而不是可能会混淆用户的错误。

在触发器上使用约束是否有任何显着的性能提升,以及确定使用哪个的最佳实践是什么。

0 投票
7 回答
4928 浏览

triggers - Perforce触发器拒绝提交未更改的文件?

Perforce 允许人们签入未更改的文件。为什么任何版本控制系统都允许这样做超出了我的范围,但这是另一个问题的主题。我想创建一个触发器,拒绝提交未更改的文件。但是,我没有使用 Perforce 触发器的经验。从我读到的内容来看,我猜这将是一个“更改内容”触发器,因为提交的文件必须与它们将要替换的相应的头部修订进行比较。我需要遍历传入的文件并确保它们确实都发生了变化。问题是,我不知道该怎么做。

任何有 Perforce 触发经验的人都可以提供一个例子或至少为我指明正确的方向吗?

0 投票
11 回答
44000 浏览

sql-server - 有没有办法为特定的执行范围禁用 SQL Server 触发器?

在 SQL Server 2005 中,触发器是否有办法找出负责触发触发器的对象?我想用它来禁用一个存储过程的触发器。

有没有其他方法可以仅为当前事务禁用触发器?我可以使用下面的代码,但如果我没记错的话,它也会影响并发事务——这将是一件坏事。

如果可能的话,我想避免在我的表中使用“NoTrigger”字段并执行 的技术NoTrigger = null,因为我想让表尽可能小。

我想避免触发的原因是因为它包含对手动更新表很重要的逻辑,但我的存储过程会处理这个逻辑。因为这将是一个高度使用的过程,所以我希望它很快。

触发器在服务器上施加了额外的开销,因为它们启动了一个隐式事务。一旦执行触发器,就会启动一个新的隐式事务,并且事务中的任何数据检索都将锁定受影响的表。

来自:http ://searchsqlserver.techtarget.com/tip/1,289483,sid87_gci1170220,00.html#trigger

0 投票
1 回答
3246 浏览

wpf - 您可以将路由事件与 MultiTrigger 一起使用吗?

WPF 是否支持使用响应路由事件但仅满足条件的触发器?

例如,WPF 支持通过事件触发器触发路由事件。IE:

但是,我正在寻找仅在满足特定条件时才触发的触发器。通常,您使用 MultiTriggers 来满足多个条件。IE:

但是,MultiTrigger 或 MultiDataTrigger 似乎都不支持触发路由事件。甚至可以在 XAML 中混合这两个路由事件和条件的概念吗?

0 投票
7 回答
8265 浏览

oracle - 如何约束数据库表,使一列中只有一行可以具有特定值?

使用 Oracle,如果列值可以是“YES”或“NO”,是否可以约束表,以便只有一行可以具有“YES”值?

我宁愿重新设计表结构,但这是不可能的。

[UDPATE] 遗憾的是,此表中不允许使用空值。

0 投票
1 回答
3311 浏览

wpf - 在 WPF 样式中,触发器如何访问它所附加的元素的子元素

下面是ListBoxItem的一个Simple Style,ListBoxItem有一个子Border。Border 有一个值为 8 的 Padding 属性,我想在选择项目时将值更改为 0。如何编写触发器?

0 投票
2 回答
10540 浏览

javascript - 使用 jQuery 触发按键...并指定按下了哪个键

我想要一个通过触发特定击键来动态验证的输入元素(type=text)或 textarea 元素。这将用于中文拼音输入,例如:

用户在输入元素中键入“ma2”。每次击键都会触发 keydown 事件,并且 2 永远不会出现。相反,当用户按下“2”时,“a”将收到一个音标,例如:“á”。最后,用户将输入:“má”。

这可以通过使用 $(element).val() 读取和更改整个输入值来完成,但是,当输入元素具有焦点并且通过调用 .val("something") 设置其值时,光标将移动到末尾的文本。这在大多数情况下都可以正常工作,因为用户只是在字段末尾继续输入,但我希望这在所有情况下都能正常工作。

...这个问题的另一个解决方案是获取/设置光标在输入或文本区域元素中的位置。但是,我认为这在 javascript 中是不可能的。


所以,雷米肯定是在正确的轨道上。无论如何,触发按键不会让我输入特殊字符而没有很多麻烦。相反,我捕获 keydown 事件并设置输入/文本区域的值,然后移动插入符号。

我还没有发现任何有利于在 jQuery 中获取/设置插入符号的东西,但是下面的内容确实为我解决了这个问题。当它稳定时,我会发布一个指向我的最终拼音输入代码的链接。现在已经很接近了。

http://blog.vishalon.net/Post/57.aspx http://demo.vishalon.net/getset.htm

0 投票
5 回答
14055 浏览

sql - Sql 触发器是同步的还是异步的?

我有一个表,上面有一个插入触发器。如果我在存储过程的一个插入语句中将 6000 条记录插入到该表中,存储过程会在插入触发器完成之前返回吗?

只是为了确保我的想法正确,触发器应该只被调用一次(我知道“调用”不是正确的词),因为只有 1 个插入语句,对吗?

我的主要问题是:即使触发器尚未完成,sproc 也会完成吗?

0 投票
6 回答
3023 浏览

asp.net-ajax - 如何获得一个位于 asp:UpdatePanel 内的按钮来更新整个页面?

我在更新面板中有一个按钮,我想更新整个页面。我已经设置ChildrenAsTriggers="false"UpdateMode="Conditional".

我在这里有一些示例代码来演示我的问题。

以及背后的代码:

单击第二个按钮时,我想更新不在更新面板内的标签。第二个按钮需要在更新面板中。我不想将标签放入更新面板。

0 投票
1 回答
3139 浏览

mysql - INSERT 触发器后我的 MySQL 不起作用?为什么?

我创建了一个类似于以下内容的触发器:

好像顺利通过了。但是,当我需要它时,它似乎并没有被调用。这是一个例子:

mysql> 插入 cdr (billsec, userfield) VALUES(60, 1); 查询正常,1 行受影响,12 个警告(0.00 秒)

编辑:这种特殊情况下的警告不会影响触发器。导致警告的主要是 cdr 表中没有默认值的附加列。为了简单起见,我将我的 INSERT 语句保持简短。