已运行10年的同一代码中的SQL Server 2000内部错误8624

时间:2019-04-15 21:58:51

标签: sql sql-server-2000

我有一个旧版SQL Server 2000数据库在我的办公室中运行,最近有10年的代码必须工作10年。现在有奇怪的问题。 代码非常简单,它是3个字段的update语句。但是,现在当我尝试立即更新此查询中的字段之一(ard.Applbatnbr)时,出现了内部错误8624。(再次说明一下,此代码运行了10年没有问题)

UPDATE Ard 

   SET ard.Applbatnbr ='',ard.ApplAmt=0,ard.CuryApplamt=0 

  FROM wrkrelease w INNER JOIN batch b 
                       ON b.batnbr = w.batnbr 
                    INNER JOIN ardoc ard
                       ON ard.Applbatnbr = b.batnbr
 WHERE b.Module='AR' AND w.Module='AR' 
   AND useraddress =@useraddress 
   AND b.status ='I'
   AND b.editscrnnbr ='08030' 

此代码将返回错误消息“内部SQL服务器错误”

但是,当我尝试通过删除问题字段(ard.Applbatnbr)仅更新另外两个字段时,我可以毫无错误地处理更新。

UPDATE Ard 

   SET ard.ApplAmt=0,ard.CuryApplamt=0 

  FROM wrkrelease w INNER JOIN batch b 
                       ON b.batnbr = w.batnbr 
                    INNER JOIN ardoc ard
                       ON ard.Applbatnbr = b.batnbr
 WHERE b.Module='AR' AND w.Module='AR' 
   AND useraddress =@useraddress 
   AND b.status ='I'
   AND b.editscrnnbr ='08030' 

我试图用表中的另一个查询直接更新此字段“ ard.Applbatnbr”,而没有与另外2个表的连接。像下面的例子一样,我也没有得到任何错误。

update ardoc set ard.Applbatnbr = '' where batnbr = 'xxxxx'

每当我更新此字段“ ard.Applbatnbr”并同时加入这3个表(wrkrelease,batch,ardoc)时,就会显示内部错误。

我还尝试在包含相同表结构的另一个数据库中运行此查询,该查询将正常运行。所以我完全迷路了。我有什么想念的吗?请帮忙。

0 个答案:

没有答案