SQL Server Update语句中的多个成功消息

时间:2013-07-09 19:52:57

标签: sql sql-server sql-update message

我有以下查询,应该更新716条记录:

USE db1
GO

UPDATE SAMP
SET flag1 = 'F', flag2 = 'F'

FROM samp INNER JOIN result ON samp.samp_num = result.samp_num
WHERE result.status != 'X'
    AND result.name = 'compound'
    AND result.alias = '1313'
    AND sample.standard = 'F'
    AND sample.flag2 = 'T';

但是,当从SSMS中的查询窗口在SQL Server 2005数据库上运行此查询时,我收到以下三条消息:

716 row(s) affected
10814 row(s) affected
716 row(s) affected

那么为什么我得到3条消息(而不是单个更新语句的正常消息)以及10814可能引用的是什么?这是我需要更新的生产数据库,所以我不想在不知道答案的情况下提交这些更改:-)谢谢。

3 个答案:

答案 0 :(得分:9)

这可能是由[samp]表上的触发器引起的。如果你去查询 - >查询选项 - >执行 - >高级并检查SET STATISTICS IO,您将看到在运行查询时正在更新哪些其他表。

答案 1 :(得分:1)

您还可以使用SSMS中的对象浏览器来查找触发器。打开表节点,找到表,打开表节点,然后打开触发器。这个方法的好处是你可以将触发器编写脚本到新的查询窗口,看看触发器在做什么。

答案 2 :(得分:0)

这可能是因为你的桌子上有一个触发器。 此命令将显示正在发生的事情。

SET STATISTICS IO {ON |关闭}

https://msdn.microsoft.com/en-us/library/ms184361.aspx