为什么删除语句会影响附加行?

Why does a delete statement affect an additional row?

更新

我发现包括实际执行计划是添加影响警告的附加行的罪魁祸首。

原问题:

我正在删除数十万条不必要的记录,每批记录 100 条。

我的问题是,我在每 100 行删除指令后看到一条警告(1 行受影响),我想知道它可能是什么。

我的table没有触发,也没有级联关系。那么,您是否知道其他任何可能影响额外行的事情?

DECLARE @LOOP bit = 1

WHILE @LOOP = 1
BEGIN
  BEGIN TRANSACTION 

  DELETE TOP (100) FICHERO_ASIGNACION
  FROM FICHERO_ASIGNACION 
       INNER JOIN FICHERO ON FICHERO.FIC_KEY = FICHERO_ASIGNACION.FIC_KEY
  WHERE FAT_KEY = 4 and 
        CLI_COD is null and
        FIC_BUC = 'prd.factura-venta'

  PRINT '100 unneeded assignments deleted'
  IF @@ROWCOUNT = 0 SET @LOOP = 0
  COMMIT TRANSACTION
END

这是结果:

(100 rows affected)

(1 row affected)
100 unneeded assignments deleted
(100 rows affected)

(1 row affected)
100 unneeded assignments deleted
(100 rows affected)

(1 row affected)
100 unneeded assignments deleted
...
...

此外,在执行计划中,我没有看到任何对其他 table 或其他搜索的引用。

谢谢。

对我来说效果很好。检查 here。 table 上有触发器吗?

显示执行计划似乎引发了附加行警告。

我已经删除了 "Include Actual Execution Plan",现在它没有显示任何其他受影响的行。

谢谢大家