2015-11-02 66 views
0

我運行一個簡單的更新查詢:爲什麼我看到多組記錄更新?

update mtvnpm..tb_appraisalyeargroup 
set annuallockstatus = 1 where appraisalyear < 2015 and annuallockstatus = 0 

,看到這樣的結果:

(43 row(s) affected) 

(1 row(s) affected) 

我最近添加一個觸發器到表,但它是不是這一個。我不能肯定地說明時間安排,但是自從我在另一張桌子上添加觸發器以來,似乎我已經看到額外的「(1 row(s)affected)」。

我三重檢查,並沒有在這裏正在更新的表上的觸發器。如上所述,我最近在其他一些更新上也看到了這一點,以及在其上也沒有觸發器的表上。

我怎樣才能知道這是從哪裏來的?

+1

您確定該表上沒有觸發器嗎?這是什麼回報?選擇* 從mtvnpm.sys.triggers TR 加入上t.object_id = tr.parent_id mtvnpm.sys.tables t其中t.name =「tb_appraisalyeargroup」 –

+0

您還可以檢查出執行計劃,當你運行該查詢。 –

回答

4

在Management Studio中打開「包括實際執行計劃」將導致返回額外的「1行受影響」消息。這是因爲查詢計劃作爲第二個數據集中的一行XML數據返回。

+0

這實際上更多的是評論而不是答案,但我不記得允許發表評論的愚蠢要求。 –

+0

謝謝。不要以爲是我的情況,但很高興知道還有其他的事情可能導致這種情況。 – BVernon