sql-server – 我应该在所有触发器上添加SET NOCOUNT吗?

你应该拥有相当普遍的知识
SET NOCOUNT ON

认情况下,创建新的存储过程时.

Microsoft在2012年更改了认模板以包含此模板.我认为触发器应该是相同的,但它不包含在模板中.

这是故意还是仅仅是疏忽?

解决方法

就个人而言,我会推荐它 – 我想不出一个理由不这样做,除非你有一个触发器,你特别想要说明它在幕后做了额外的工作.

我写了一篇关于编写触发器时要注意的事项的简短文章,这是其中之一:
http://dave.brittens.org/2012/03/29/writing-well-behaved-triggers/

tl;博士版:

>切断喋喋不休.使用NOCOUNT.>确保您的触发器可以处理多行.>防止无界触发级联和递归.>避免INSERTED和DELETED虚拟表的可怕性能.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...