31得票1回答
触发器与事务的组合

假设我们有以下情况: 我们有一个表(假设为Table_A),在其上有一个触发器(trigger)来处理INSERT操作。触发器的任务是根据Table_A中插入的值来更新table_B中的某些行。 现在,当我们简单地向表中插入一行数据时,一切都正常。但是如果通过事务插入数据呢?触发器会等待所...

27得票2回答
在MySQL中,是否可以修改现有的触发器定义?

我想知道在MySQL中是否有可能更新触发器的定义。例如,我有一个名为T的触发器,我想要为它添加一些新功能。 我的假设是我需要先删除再重新创建它。 对于这种情况,在数据库管理方面有哪些最佳实践?

26得票4回答
如何将表格的最大行数限制为只有1行

我在我的SQL Server数据库中有一个配置表,这个表只应该有一行数据。为了帮助未来的开发人员理解这一点,我希望防止添加多于一行的数据。我选择使用触发器来实现这个目的,如下所示... ALTER TRIGGER OnlyOneConfigRow ON [dbo].[Configur...

24得票2回答
触发器:将已删除的行移动到归档表

我在我的PostgreSQL数据库中有一个小表(约10行),名为restrictions,其中的值每天都会被删除和插入。 我想要一个名为restrictions_deleted的表,每当从restrictions中删除一行时,它将自动存储。由于restrictions具有序列id,所以不会有...

24得票1回答
在PostgreSQL表中,有没有一种好的方法可以为每条记录运行触发器?

我有一个系统,我无法控制一些表的设计(通过Slony-I复制),因此我有一系列我们称之为“影子表”的表,在这些表中,我从复制的表中提取一些信息,并以我需要的处理形式存储它,同时剥离我想要忽略的记录。 目前,在设置新的副本后,我运行一个更新操作,并将一个值设置回自身(例如,UPDATE tab...

23得票2回答
触发器每次都会编译吗?

我们正在排除一个CPU利用率较高的服务器问题。在发现查询并非导致问题后,我们开始调查编译。 性能监视器显示每秒不到50个编译和不到15个重新编译。 运行一个XE会话来查找编译时,我们发现每秒出现数千次编译。 该系统使用触发器进行更改审计。大部分编译是由于触发器引用了sys.dm_tran...

21得票1回答
我应该在所有的触发器中添加 SET NOCOUNT ON 吗?

相信大家都知道,我们应该拥有一定的常识。 SET NOCOUNT ON 默认情况下,在创建新的存储过程时会包含此功能。 微软在2012年更改了默认模板以包含此功能。我原以为触发器也应该是一样的,但模板中并没有包含。 这是故意的还是疏忽呢?

21得票3回答
在触发器中是否可以获取执行调用堆栈?

我有10个存储过程,每个存储过程都会向表X中插入数据。 在表X的触发器中,是否可以获取导致对表X进行修改的对象(存储过程1、存储过程2等)? 谢谢。

21得票3回答
SQL Server: 如何在当前会话中禁用触发器,仅针对更新操作?

我正在使用SQL Server 2008 R2。 我有一个名为benefit的表,其中有一个名为tiu_benefit的AFTER INSERT、UPDATE触发器。 我想为这个表编写一个UPDATE语句来更新一行数据,但是我不希望触发器被触发。我知道我可以在UPDATE之前禁用触发器,然...

21得票4回答
如何在单个数据库中删除所有触发器?

我有一个包含104个触发器的数据库,有没有办法通过一个命令从名为'system_db_audits'的单个数据库中删除所有的触发器?